我之所以會發現這個PageHelper這個東東 是因為公司在使用 ,剛開始我也沒太注意這個插件,感覺不就是個分頁插件嗎?也就那樣,直到一天,我在網上找了個代碼生成器,用來構建代碼,因為它是針對mysql的,我們公司使用的是pgsql,它們的分頁是不同的。我下載的代碼生成器的是針對mysql的。所以我又修改了它的分頁語句。忽然想到了這個PageHelper、感覺這個東西還是很方便的,不用再去改sql了
引入依賴
這里我直接那我之前用來整合mybatis的項目簡單演示下
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-autoconfigure</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
application.yml
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
修改controller
@GetMapping(value = "/users")
public PageInfo<UserEntity> getUsers() {
PageHelper.startPage(1, 10);
List<UserEntity> users=userMapper.getAll();
PageInfo<UserEntity> pageInfo = new PageInfo<UserEntity>(users);
return pageInfo;
}
訪問驗證
{
"pageNum": 1,
"pageSize": 10,
"size": 2,
"startRow": 1,
"endRow": 2,
"total": 2,
"pages": 1,
"list": [
{
"id": 28,
"userName": "毛毛",
"passWord": "1234",
"userSex": "MAN",
"nickName": "324"
},
{
"id": 29,
"userName": "12",
"passWord": "12",
"userSex": "MAN",
"nickName": null
}
],
"prePage": 0,
"nextPage": 0,
"isFirstPage": true,
"isLastPage": true,
"hasPreviousPage": false,
"hasNextPage": false,
"navigatePages": 8,
"navigatepageNums": [
1
],
"navigateFirstPage": 1,
"navigateLastPage": 1,
"lastPage": 1,
"firstPage": 1
}
當然,這只是個簡單入門整合,但是已經足夠大家進行使用了,好了玩的開心!