Mybatis-PageHelper的使用
1、在maven仓库中找到pagehelper-soring-boot-starter并引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.13</version>
</dependency>
2、在需要用分页的实现类方法上添加语句
PageHelper.startPage(pageNum,pageSize);//这样就完成了分页
3、要想实现返回的数据是下面这种PageHelper自己内定的格式
"total": 26, //总记录数
"list": [ //结果集
{
"id": 26,
"categoryId": 100012,
"name": "小米10",
"subtitle": "骁龙865处理器 / 1亿像素8K电影相机 / 双模5G / 新一代LPDDR5内存 / 对称式立体声 / 90Hz刷新率+180Hz采样率 / UFS 3.0高速存储 / 全面适配Wi-Fi 6 / 超强VC液冷散热 / 30W极速闪充+30W无线闪充+10W无线反充 / 4780mAh大电量 / 多功能NFC",
"mainImage": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/0099822e42b4428cb25c4cdebc6ca53d.jpg?thumb=1&w=200&h=200&f=webp&q=90",
"status": 1,
"price": 3999.00,
"stock": 40
},
{
"id": 27,
"categoryId": 100012,
"name": "小米10 青春版 5G",
"subtitle": "50倍潜望式超远变焦 / 双模5G / 骁龙765G处理器 / 三星AMOLED原色屏 / 180Hz采样率 / 4160mAh大电池 / 多功能NFC / 红外遥控器",
"mainImage": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/8729282b199b3ec51e31c1b6b15f3f93.jpg",
"status": 1,
"price": 2099.00,
"stock": 69
}
],
"pageNum": 1, //当前页
"pageSize": 2, //每页数量
"size": 2, //当前页数量
"startRow": 1, //当前页第一个元素在数据库中的行号
"endRow": 2, //当前页面最后一个元素在数据库中的行号
"pages": 13, //总页数
"prePage": 0, //前一页
"nextPage": 2, //后一页
"isFirstPage": true, //是否为第一页
"isLastPage": false, //是否为最后一页
"hasPreviousPage": false, //是否有前一页
"hasNextPage": true, //是否有后一页
"navigatePages": 8, //导航页码数(一次性显示的页码)
"navigatepageNums": [ //所有导航页数
1,
2,
3,
4,
5,
6,
7,
8
],
"navigateFirstPage": 1, //导航条上第一页
"navigateLastPage": 8 //导航条上最后一页
需要使用PageInfo:
PageInfo pageInfo = new PageInfo<>(productList);//将数据库中查到的数据当做构造方法的参数传进去
pageInfo.setList(productVoList);//将最终形成的vo对象集合传进去
return ResponseVo.success(pageInfo);//最后返回内定的属性格式
注意返回类型设置为:ResponseVo