当前使用版本(必填,否则不予处理)

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对象返回的结果为 MyBatis-Plus Page分页插件自动优化LeftJoin后,结果与预期不符合


total与records数量不符。 请问这个该如何解决?

Comment From: miemieYaho

配置Page#optimizeJoinOfCountSql为false即可不消除leftjoin