Pagehelper

1 pagehelper

PageHelper.startPage(1,10);只对该语句以后的第一个查询语句得到的数据进行分页,

就算你在PageInfo pa = new PageInfo("",对象);语句里面的对象是写的最终得到的数据,该插件还是只会对第一个查询所查询出来的数据进行分页

第一个查询语句是指什么呢?举个例子吧,比如你有一个查询数据的方法,写在了PageHelper.startPage(1, 10);下面.但是这个查询方法里面
包含两个查询语句的话,该插件就只会对第一查询语句查询的数据进行分页,而不是对返回最终数据的查询与基础查询出来的数据进行分页
改变一下自己的代码结构,让最终需要的数据所需要的查询语句放在PageHelper.startPage(1, 10)下面就行

只有紧跟在PageHelper.startPage方法后的第一个Mybatis的查询(Select)方法会被分页。--------后面的不会被分页,除非再次调用PageHelper.startPage -----------------分页时,实际返回的结果list类型是Page,如果想取出分页信息,需要强制转换为list

3 代码:两种分页

第二种,Mapper接口方式的调用,推荐这种使用方式。

PageHelper.startPage(1, 10);
List list = countryMapper.selectIf(1);

4 查询得到的信息用pageinfo对象进行包装-----返回值为pageinfo;

5 怎么理解pagehelper只对紧跟着的第一个sql语句起作用

PageHelper.startPage(pageNum,pageSize)方法调用后,后面必须有一个Mapper的查询方法,必须被消费掉。 List result=userMapper.getUser() return new PageInfo(result)当时知道数据类型时,可以进行强转。

原文地址:https://www.cnblogs.com/liuqingzhong/p/14103308.html