1、 首先确认自己项目是否有mybaits的依赖 (不详细说了)
2、引入 pagehelper maven
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
3、初始化pageHelper 到 IOC
import com.github.pagehelper.PageHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import java.util.Properties;
/**
* 初始化pageHelper2ioc
* <p>
* create at: 2021/3/1 3:58 下午
*
* @author yangkang
*/
@Component
public class PageHelperConfig {
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties p = new Properties();
p.setProperty("offsetAsPageNum", "true");
p.setProperty("rowBoundsWithCount", "true");
p.setProperty("reasonable", "true");
pageHelper.setProperties(p);
return pageHelper;
}
}
4、使用 pageHelper 如下
@Override
public PageInfo<BasicQueryVo> list(LicenseBasicQueryParam param) {
//启动分页查询
PageHelper.startPage(param.getPageNumber() == null ? 1 : param.getPageNumber(),
param.getPageSize() == null ? 10 : param.getPageSize());
//执行我们的查询sql语句
List<BasicQueryVo> list = licenseBasicDao.findList(param);
//将我们的查询结果放入 PageInfo 对象
return new PageInfo<>(list);
}
5、大功告成,以下结果为分页查询实例
{
"msg":"处理成功",
"code":"200",
"data":{
"pageNum":1,
"pageSize":10,
"size":4,
"orderBy":null,
"startRow":1,
"endRow":4,
"total":4,
"pages":1,
"list":[
{
"id":64,
"sn":null,
"assetCode":"",
"moduleId":1,
"accountId":null,
"accountName":"",
"type":1
}
],
"firstPage":1,
"prePage":0,
"nextPage":0,
"lastPage":1,
"isFirstPage":true,
"isLastPage":true,
"hasPreviousPage":false,
"hasNextPage":false,
"navigatePages":8,
"navigatepageNums":[
1
]
}
}
PageInfo
{
pageNum=1,当前页码
pageSize=1,每页个数
size=1,当前页个数
startRow=1,由第几条开始
endRow=1,到第几条结束
total=3,总条数
pages=3,总页数
list=Page{count=true, pageNum=1, pageSize=1, startRow=0, endRow=1, total=3, pages=3, reasonable=false, pageSizeZero=false}[com.zhiyou.zt.bean.Users@6572421],当前页数据
prePage=0,上一页
nextPage=2,下一页
isFirstPage=true,是否为首页
isLastPage=false,是否为尾页
hasPreviousPage=false,是否有上一页
hasNextPage=true,是否有下一页
navigatePages=8,每页显示的页码个数
navigateFirstPage=1,首页
navigateLastPage=3,尾页
navigatepageNums=[1, 2, 3]页码数
}