赞
踩
问题描述:
代码中使用了MyBatis-plus的page分页,列表查询sql单独运行时正常且查询条数正确,但最终返回到页面上page的total条数与查询总数不一致。
产生原因:
使用mybatis-plus分页时会对sql进行自动优化,正常情况下使用不会产生问题,但当sql中使用聚合函数时(常用聚合函数如COUNT()、AVG()、MAX()、MIN()等),会导致查询条数不准确。
解决方案:
禁用自动优化(在实现类中添加 page.setOptimizeCountSql(false) ,例子如下)
@Override
public Page<DtUser> socialSecurityPage(Integer pageNo, Integer pageSize,Map<String, Object> map) {
Page<DtUser> page = new Page<>();
page.setSize(pageSize);
page.setCurrent(pageNo);
page.setOptimizeCountSql(false);
page.setRecords(personnelReportDao.socialSecurityPage(page,map));
return page;
}
————————————————
版权声明:本文为CSDN博主「你的上好佳hhh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_49886030/article/details/118405584
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。