1.添加pom文件依赖
<!-- springboot分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<!-- 特别注意版本问题, 看到评论以后得以纠正 -->
<version>1.2.3</version>
</dependency>
2.配置application.yml
# 分页配置
pagehelper:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
params: count=countSql
3.案例
controller控制器
@PostMapping(value = "/page")
public Response getPage(){
PageInfo<?> pageInfo = goodsTypeService.getList(1, 2);
Response<Object> objectResponse = new Response<>();
objectResponse.setMsg("获取退仓单列表数据失败!");
objectResponse.setCode("0");
objectResponse.setData(pageInfo);
return objectResponse;
}
serviceImpl
@Override
public PageInfo<?> getList(int pageNum, int pageSize) {
//使用分页插件,核心代码就这一行
PageHelper.startPage(pageNum,pageSize);
List<MenuItems> menuItems = umsMapper.getMenuItems();
PageInfo<?> pageList = new PageInfo<>(menuItems);
return pageList;
}
mapper
@Repository
@Mapper
public interface UmsMapper {
List<MenuItems> getMenuItems();
}
UmsMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.devguo.mapper.db3.UmsMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.example.devguo.model.entity.MenuItems">
<id column="id" property="id" />
<result column="title" property="title" />
<result column="erpDeptId" property="erpDeptId" />
</resultMap>
<select id="getMenuItems" resultMap="BaseResultMap">
SELECT id,title,erp_dept_id as erpDeptId FROM menu_items WHERE parent_id=49 and `status`=1
</select>
</mapper>
案例结果:
{
"data": {
"total": 16,
"list": [
{
"id": 1,
"title": "运营一部",
"erpDeptId": 141
},
{
"id": 2,
"title": "运营四部",
"erpDeptId": 211
}
],
"pageNum": 1,
"pageSize": 2,
"size": 2,
"startRow": 1,
"endRow": 2,
"pages": 8,
"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,
"firstPage": 1,
"lastPage": 8
},
"code": "0",
"msg": "获取退仓单列表数据失败!"
}