本篇博文记录博主在使用MyBatis的PageHelper分页插件时遇到的坑。
问题:项目使用的前后端分离,前端VUE抽取的分页组件,用于每一个分页展示列表。博主查看其他页面,分页效果都是正常的,只有其中一个页面分页失效,后台通过Debug跟代码,发现分页需要的参数都已经传进来了,那为什么执行查询方法的 SQL 语句没有 Limit 关键字呢?
不知道原因的我,又一次Debug调试代码,发现在需要分页展示的 查询语句之前,其他同事增加了一个新的查询方法,当执行完这个方法之后,通过 MyBatis Log Plugin插件,查看打印的SQL语句,发现这个SQL进行了分页,因此,问题便得到了解决。

结论:当一个方法里面调用了多个查询语句时,PageHelper.startPage(pageNum, pageSize, orderBy) 这个方法在哪个查询语句之前,哪个查询就会进行分页。
博主依稀记得刚开始学习MyBatis时,好像遇到过这个问题,但是由于长时间没有复现,所以问题出现,又不知原因所在。因此将这次问题写入博客。
好处:
一、可以帮助遇到同样问题的读者;
二、博主以后遇到同样问题的时候,可以马上解决,避免浪费过多的时间进行代码调试。
本文记录了在使用MyBatis的PageHelper插件时遇到的一个分页失效问题,详细解析了问题的原因在于同一方法中多次调用查询语句,导致分页配置被覆盖的现象,为遇到类似问题的开发者提供了解决方案。
1708

被折叠的 条评论
为什么被折叠?



