我的编程空间,编程开发者的网络收藏夹
学习永远不晚

解决Mybatis-Plus或PageHelper多表分页查询总条数不对问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

解决Mybatis-Plus或PageHelper多表分页查询总条数不对问题

Mybatis-Plus版本3.4之后,对分页查询进行了优化

对于单表查询是没有问题的。而需要多表关联查询(自写sql)时,就会查询调用Mybatis-Plus的

.page(E page, Wrapper queryWrapper);

方法是就就会出现查询总数不对问题。

业务需要查询的数据

我这边业务比较复杂,是做项目的时候发现的问题,(本人比较懒)没有重新写demo。所以就不要太关注业务逻辑。只要知道符合条件的数据是69条。
在这里插入图片描述

分析

正常使用分页查询时的代码
在这里插入图片描述

运行的查询sql后台日志打印情况
在这里插入图片描述

可以看到Mybatis-Plus框架分页查询时,使用了两次查询,先查询总条数,再查询数据。而做了优化就是给第一个查询进行了优化(只查主表符合查询条件的总条数),这就导致两条查询sql的表数量不一致,从而导致查询总条数不一致的情况。搞清楚了原因,那就好解决了。

解决方式:关闭优化

代码调整(关闭分页查询优化)

Page<Object> toPage = (Page<Object>) pageQuery.toPage();toPage.setOptimizeCountSql(false);

在这里插入图片描述
运行的查询sql后台日志打印情况
在这里插入图片描述
可以看到两次查询sql是一致的。解决问题。拜了个拜

来源地址:https://blog.csdn.net/zhangzhanbin/article/details/128032893

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

解决Mybatis-Plus或PageHelper多表分页查询总条数不对问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

解决Mybatis-Plus或PageHelper多表分页查询总条数不对问题

Mybatis-Plus版本3.4之后,对分页查询进行了优化 对于单表查询是没有问题的。而需要多表关联查询(自写sql)时,就会查询调用Mybatis-Plus的 .page(E page, Wrapper queryWrapper);
2023-08-21

Mybatis-plus的selectPage()分页查询不生效问题解决

本文主要介绍了Mybatis-plus的selectPage()分页查询不生效问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-09

全网多种方法解决数据库有数据,但mybatis查询出来的值为Null、为空或不存在的问题

文章目录 1. 复现问题 2. 分析问题 3. 解决问题 4. 解决该问题的其他方式 5. 总结说明 1. 复现问题 今天在查询组件详情时,却报出如下错误: 接下里,我便详细分析出现该错误的原因。 2. 分析问题
2023-08-22

编程热搜

目录