天天看點

idea使用pagehelper實作後端分頁功能

第一步:在pom.xml中添加依賴

<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.12</version>
</dependency>      

第二步:在idea的配置檔案中添加相關配置:

pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql      

第三步:在Dao層編寫程式

/**
*分頁形式查詢所有的使用者資訊
* @return
*/
@Select("select * from user")
public List<Map<String,Object>> QueryPageUsers();      

第四步:在服務層編寫程式:

/**
* 分頁查詢所有使用者
* @param pagenum
* @param pagesize
* @return
*/
List<Map<String,Object>> FindUsers(int pagenum,int pagesize);      

第五步:在服務實作層編寫代碼

/**
* 分頁形式查詢所有的使用者
* @param pagenum
* @param pagesize
* @return
*/
public List<Map<String, Object>> FindUsers(int pagenum, int pagesize) {
PageHelper.startPage(pagenum,pagesize);
List<Map<String, Object>> maps = selectUser.QueryPageUsers();
return maps;
}      

第六步:在Controller層編寫代碼:

/**
* 分頁形式查詢所有的使用者
* @param pagenum
* @param pagesize
* @return
*/
@RequestMapping(value = "GetPageUsers",method = RequestMethod.POST)
public @ResponseBody PageInfo<Map<String, Object>> GetPageUsers(int pagenum,int pagesize){
List<Map<String, Object>> maps = getUserservice.FindUsers(pagenum, pagesize);
PageInfo<Map<String, Object>> pagets = new PageInfo<Map<String, Object>>(maps);
return pagets;
}      

第七步:使用Postman進行測試,結果如下:

{
"total": 6,
"list": [
{
"pass": "user",
"level": 1,
"sex": "男",
"name": "user",
"id": "1001",
"age": 21
},
{
"pass": "admin",
"level": 10,
"sex": "女",
"name": "admin",
"id": "1002",
"age": 23
}
],
"pageNum": 1,
"pageSize": 2,
"size": 2,
"startRow": 1,
"endRow": 2,
"pages": 3,
"prePage": 0,
"nextPage": 2,
"isFirstPage": true,
"isLastPage": false,
"hasPreviousPage": false,
"hasNextPage": true,
"navigatePages": 8,
"navigatepageNums": [
1,
2,
3
],
"navigateFirstPage": 1,
"navigateLastPage": 3
}