本文主要是介绍PageHelper分页查询时,count()查询记录总数与实际返回的数据数量不一致,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 场景简介
- 代码判断
- 异常情况
- 排查
- 原因
- 解决
场景简介
1、使用PageHelper进行分页查询
2、最终构建PageInfo对象时,total与实际数据量不符
代码判断
异常情况
排查
通过对比count()查询的SQL与查询记录的SQL,发现是PageHelper分页查询时省去了order by排序导致
由于省去了order by,会导致WHERE 1 = 1 AND processStatus = 0
这个条件所筛选出的结果出现误差
原因
PageHelper分页查询时会自动过滤order by
当查出来数据条数为0的时候,则不会继续向下执行完整的sql
解决
在order by前加上/*keep orderby*/
这篇关于PageHelper分页查询时,count()查询记录总数与实际返回的数据数量不一致的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!