MybatisPlus的分页插件会自动优化LeftJoin语句,官网上说明,当LeftJoin的表没有参与Where查询时,会自动移除。
会导致查询的sql总数和实际数据不一致
解决方案: 配置
paginationInnerInterceptor.setOptimizeJoin(false);为false即可不消除leftjoin
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.getDbType(dbType));
// 关闭生成 countSql 优化掉 join
paginationInnerInterceptor.setOptimizeJoin(false);
interceptor.addInnerInterceptor(paginationInnerInterceptor);
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return interceptor;
}
本文著作权归作者 [ admin ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
