当前使用版本(必填,否则不予处理)
3.5.1
该问题是如何引起的?(确定最新版也有问题再提!!!)
无意间发现,MybatisPlus的分页插件会自动优化LeftJoin语句,官网上说明,当LeftJoin的表没有参与Where查询时,会自动移除。 这个操作可能会带来一些问题例子如下
我有a表和b表。a与b为一对多关系。假设a有1条数据,b有3条数据,且a表的id与b表a的id关联。当运行
SELECT
*
FROM
table_a a
LEFT JOIN table_b b ON a.id = b.a_id
后,应该查询出3条数据。这时count值应该也为3。但是,mbp优化后,count语句变为
SELECT
count(*)
FROM
table_a a
Mbp自动移除leftjoin语句
这时page对象返回的结果为
total与records数量不符。 请问这个该如何解决?
Comment From: miemieYaho
配置Page#optimizeJoinOfCountSql为false即可不消除leftjoin