MybatisPlus多表联查分页,Total计数异常
-
更新
1 | 24.04.19 初始记录 |
问题
使用 MP 的分表联查,出现了查询出 10 条数据,但是 Total 数量显示 4 的问题。一开始以为是 SQL 书写错误,但是看了同样一张表的另一个 SQL,只是加上了 GROUP BY,就可以显示正确的 Total 数。
DEBUG
控制台输出 SQL 语句,发现 count()
语句的记录只到了 left join
前,所以计数异常。
解决
使用 page 方法时:加上以下语句
1 | // 需要手动把sql的优化关闭。不然计数的时候只会查主表的记录数 |
这里在源码中默认是开启的
如果不关闭将会导致计算总记录数据的时候,sql 语句会丢弃后面的子查询,造成记录数结果不正确。
评论
评论插件加载失败
正在加载评论插件