MyBatis-Plus用注解实现多表、嵌套、子查询语句

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,相信大家使用的也挺多了,现在基本上告别用xml的形式写。 1、一张表的情况:假设只是查询表中种类的数量、种类

QueryWrapper wrapper = new QueryWrapper();
        wrapper.select("count(*) as allprice,category");
        wrapper.groupBy("category");

只需要使用条件构造器就行,效果如: 但是如果是先以部门分类,然后再以种类分类呢,sql语句为复杂语句 ;最简单的就是用注解 2、复杂语句:如 SELECT a.depart,count(a.category) from (SELECT depart,category from goods GROUP BY depart,category ) a GROUP BY a.depart 这样的语句是用条件构造器很难实现的,故用注解形式:

@Select("SELECT a.depart,count(a.category) as allprice from (" +
            "SELECT depart,category from goods " +
            "GROUP BY depart,category ) a  ${ew.customSqlSegment}  " +
            "GROUP BY a.depart ")
    List<Goods> getAll(@Param(Constants.WRAPPER) Wrapper wrapper);

${ew.customSqlSegment}这块的含义就是不用向以前写xml的时候写进行判断 然后用函数构造器: depart为空的情况,不为空就是参数中有值 至此就结束了,mabitsPlus还是挺好用的,有什么不懂的可以看看官方文档; 地址:https://baomidou.com/pages/24112f/

经验分享 程序员 微信小程序 职场和发展