avatar

PageHelper分页插件的运用

1.Pom依赖引入

1
2
3
4
5
6
<!--pagehelper依赖-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
</dependency>

2.yml配置

1
2
3
#数据库方言
pagehelper:
helper-dialect: mysql

3.Controller

pageNum为当前页码

pageSize为当前页包含个数

需要写PageHelper.startPage(pageNum, pageSize);在查询语句之前,将自动分页

1
2
3
4
5
6
7
8
9
10
/*查询所有成绩*/
@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)等等

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{
"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
}

评论