美文网首页Mybatis-plus
【12.9】boot学习 mybatis-plus 用法

【12.9】boot学习 mybatis-plus 用法

作者: 王滕辉 | 来源:发表于2022-07-04 16:12 被阅读0次

    接上一节修改mybatis 为mybatis-plus

    第一步

    注释掉mybatis-spring-boot-starter 我们只引入mybatis-plus-boot-starter

    <!--        <dependency> -->
    <!--            <groupId>org.mybatis.spring.boot</groupId> -->
    <!--            <artifactId>mybatis-spring-boot-starter</artifactId> -->
    <!--            <version>2.2.2</version> -->
    <!--        </dependency> -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>3.5.1</version>
            </dependency>
    

    第二步

    https://baomidou.com/pages/226c21/#%E5%88%9D%E5%A7%8B%E5%8C%96%E5%B7%A5%E7%A8%8B
    实体类指定数据库映射表。
    字段用TableField 映射,数据库没有的 添加 exist = false,字段一致的可以省略。

    @Data
    @TableName("test_collection")
    public class Company {
        
        private String          companyId;
        private String          companyName;
    
        @TableField(exist = false)
        private List<WebData>   or;
    }
    
    

    第三步修改 dao

    继承 BaseMapper

    @Mapper
    public interface WebDao extends BaseMapper<Company> {
       
       List<Company> findAll(@Param("ids") String[] id);
    }
    
    

    第四步 修改 service

    继承 ServiceImpl 实现 IService ,
    https://baomidou.com/pages/49cc81/#service-crud-%E6%8E%A5%E5%8F%A3
    这里介绍service实现了许多接口

    @Service
    public class CompanyService extends ServiceImpl<WebDao, Company> implements IService<Company> {
        
        private Logger  logger  = LoggerFactory.getLogger(CompanyService.class);
        
        @Autowired
        WebDao          webDao;
        
        // TODO
        public List<Company> test() {
            logger.info("开始测试");
            List<Company> list = webDao.findAll(new String[] { "123456", "444" });
            logger.info("测试 list size= {}", list.size());
            list.forEach(aa -> {
                logger.info("测试 web.size={} aa= {}", aa.getOr().size(), aa.toString());
            });
    
            logger.info("测试结束");
            return list;
        }
        
    }
    
    

    第五步 修改Controller
    添加两个方法 list 和 page

    @RestController
    @RequestMapping("/t")
    public class WebController {
    
        private Logger  logger  = LoggerFactory.getLogger(WebController.class);
    
        @Autowired
        CompanyService  companyService;
    
        @RequestMapping("/t")
        public List<Company> test() {
            return companyService.test();
        }
        
        @RequestMapping("/list")
        public List<Company> list() {
            return companyService.list();
        }
    
        @RequestMapping("/page")
        public Page<Company> page() {
            return companyService.page(new Page<Company>());
        }
    }
    

    最后访问

    http://localhost/t/t

    image.png

    http://localhost/t/page

    image.png

    http://localhost/t/list

    image.png

    mybatis-plus 对于单表操作提高了开发效率。与jpa有相识之处,处理单表数据CRUD基本可以省略,不用手写了。

    相关文章

      网友评论

        本文标题:【12.9】boot学习 mybatis-plus 用法

        本文链接:https://www.haomeiwen.com/subject/aqidbrtx.html