yulichang / mybatis-plus-join

支持连表查询的mybatis-plus,mybatis-plus风格的连表操作提供wrapper.leftJoin(),wrapper.rightJoin()等操作
https://yulichang.github.io/mybatis-plus-join-doc/
Apache License 2.0
971 stars 113 forks source link

feat: 增加检测表是否已连接 #104

Closed tuine closed 4 months ago

tuine commented 4 months ago

该Pull Request关联的Issue

修改描述

项目实际使用过程中使用复杂的连表查询,存在根据功能判断动态连表,为了防止重复连表,增加此判断。

测试用例

修复效果的截屏

yulichang commented 4 months ago

这个方法的应用场景是什么呢?

tuine commented 4 months ago

场景一: 商品列表:封装方法autoJoinByParam()如果选择筛选区域,自动连表区域关系表,增加过滤条件;

此基础增加需求:根据用户筛选条件统计每个区域下的商品数量,复用autoJoinByParam,但需要判断此时如果没有连区域关系表需要增加连接,进行group统计。

场景二:

根据用户参数自动连表,可能存在连多表的情况,均是一对多

select a.* from a join b on a.id=b.a_id
join c on a.id=c.a_id
group by a.id

自动判断连1:N表时会group by a.id,会存在重复多次group by