Mybatis莫名自动分页 PageHelper自动分页的问题(已解决)
业务场景:
接收到分页参数,需要先查出数据后进行数据过滤,之后手动分页返回。
问题:
在用Mybatis进行查询的时候,没有使用PageHepler.startPage,但是查询的sql自动查询了count(),而且进行了limit。入参中包含了pageNum和pageSize且都不为空。
源码排查原因:
找到PageHelper的处理逻辑 PageObjectUtil
可以看到它会去获取参数中是否有pageNum和pageSize,如果两者都不为空,会返回一个new Page ,这和PageHelper.startPage是一样的效果。
解决办法:
1.将pageNum或pageSize参数中的一个命名为其他值
2.将pageNum或pageSize参数中的一个设置为null(先存储再置为null,以便后续分页)