本篇博文记录博主在使用MyBatis的PageHelper分页插件时遇到的坑。

问题:项目使用的前后端分离,前端VUE抽取的分页组件,用于每一个分页展示列表。博主查看其他页面,分页效果都是正常的,只有其中一个页面分页失效,后台通过Debug跟代码,发现分页需要的参数都已经传进来了,那为什么执行查询方法的 SQL 语句没有 Limit 关键字呢?

不知道原因的我,又一次Debug调试代码,发现在需要分页展示的 查询语句之前,其他同事增加了一个新的查询方法,当执行完这个方法之后,通过 MyBatis Log Plugin插件,查看打印的SQL语句,发现这个SQL进行了分页,因此,问题便得到了解决。
MyBatis中使用PageHelper遇到的坑

结论:当一个方法里面调用了多个查询语句时,PageHelper.startPage(pageNum, pageSize, orderBy) 这个方法在哪个查询语句之前,哪个查询就会进行分页。

博主依稀记得刚开始学习MyBatis时,好像遇到过这个问题,但是由于长时间没有复现,所以问题出现,又不知原因所在。因此将这次问题写入博客。

好处
一、可以帮助遇到同样问题的读者;
二、博主以后遇到同样问题的时候,可以马上解决,避免浪费过多的时间进行代码调试。

分类:

技术点:

相关文章: