问题描述:
近期做项目的时候用到了该分页插件,测试的时候遇到一个现象,pagehelper有些时候分页没有效果。
原因分析:
1.首先确保pageHelper引用 和写法无误的情况(因为我这边的现象是有些页面分页有效,有些无效,说明不是插件的引用配置问题。)
2.排除使用该插件一系列问题之后,我查了下pageHelper相关问题,终于发现了问题所在:
首先第一个:PageHelper.startPage(1,10); pageHelper只对该语句以后的第一个查询语句得到的数据进行分页。
第一个查询语句是指什么呢?举个例子吧,比如你有一个查询数据的方法,写在了PageHelper.startPage(1, 10);下面,但是这个查询方法里面,包含两个查询语句的话(假设一个是基础数据的查询语句,另一个是
你要分页返回的最终数据的查询语句),该插件就只会对你代码中PageHelper.startPage(1, 10);紧随其后的第一查询语句查询的数据进行分页,而此时你需要分页的那个查询方法不是排在最前面的。所以结果
并不是对返回最终数据的查询出来的数据进行分页,而是对基础查询的数据进行分页。
解决方案:
此时解决方案就明确了:
改变一下自己的代码结构,让最终需要的数据所需要的查询语句放在PageHelper.startPage(1, 10)下面就行