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/

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值