Mybatis PageHelper自动加上limit ?


现象:
偶然遇到了这个问题,同一个查询结果一会是2个(预期),一会是1个(刷新/重启应用就又变成2个)
定位:
查看日志,发现了问题:结果为1个时查询SQL自动加上了Limit 1
原理及解决:

1. 设置了PageHelper.startPage(pageStart, pageSize)
2. 假设接下来没有执行后续的查询(抛出或者其它原因)
3. 此时PageHelper的分页设置绑定在该线程的ThreadLocal里
4. 新的SQL查询恰好使用了该线程,则自动使用分页查询(limit就莫名其妙的出现了)
5. 在高风险的地方释放分页设置PageHelper.clearPage();

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM