300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > MyBatis-Plus用注解实现多表 嵌套 子查询语句

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

时间:2022-04-30 07:07:08

相关推荐

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还是挺好用的,有什么不懂的可以看看官方文档;

地址:/pages/24112f/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。