1.Pom依赖引入
<!--pagehelper依赖-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
</dependency>
2.yml配置
#数据库方言
pagehelper:
helper-dialect: mysql
3.Controller
pageNum为当前页码
pageSize为当前页包含个数
需要写PageHelper.startPage(pageNum, pageSize);在查询语句之前,将自动分页
/*查询所有成绩*/
@GetMapping("/findScoreAll")
public ResultDTO findScoreAll(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<Score> list = this.scoresService.findScoreAll();
PageInfo page = new PageInfo(list);
ResultDTO resultDTO = new ResultDTO(0, "OK", new LinkedHashMap<>());
resultDTO.add("scorns", page);
return resultDTO;
}
PageInfo page = new PageInfo(list);
包含许多常用属性,数据总个数(total)、总页数(pages)和当前页数(pageNum)等等
{
"status": 0,
"msg": "OK",
"body": {
"scorns": {
"total": 9,
"list": [
{
"id": 1,
"subject": "数学",
"score": 65.5,
"type": "期中",
"tDate": "2021-01-27",
"tdate": "2021-01-27T00:00:00.000+0000"
},
{
"id": 2,
"subject": "数学",
"score": 65.0,
"type": "期末",
"tDate": "2021-01-15",
"tdate": "2021-01-15T00:00:00.000+0000"
},
{
"id": 3,
"subject": "英语",
"score": 72.0,
"type": "期末",
"tDate": "2021-01-15",
"tdate": "2021-01-15T00:00:00.000+0000"
}
],
"pageNum": 0,
"pageSize": 3,
"size": 3,
"startRow": 1,
"endRow": 3,
"pages": 3,
"prePage": 0,
"nextPage": 1,
"isFirstPage": false,
"isLastPage": false,
"hasPreviousPage": false,
"hasNextPage": true,
"navigatePages": 8,
"navigatepageNums": [
1,
2,
3
],
"navigateFirstPage": 1,
"navigateLastPage": 3
}
},
"success": false
}