分頁是平常開發中是十分常見的需要,雖然原理不難,但是自己寫起來就很麻煩。
所以,記錄一下springboot + mybatis 使用分頁插件PageHelper 的步驟:
1.在pom.xml中引入依賴:
<!--分頁插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.0.0</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>
<!--分頁插件-->
2.在application.propreties或者application.yml中加入配置:
#分頁插件
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
#分頁插件
pagehelper:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
params: count=countSql
3.在controller層中使用(也可以在service層中):
@RequestMapping("/agentList")
public ModelAndView agentList(HttpServletRequest request, Integer pageNum, Integer
pageSize) throws Exception {
ModelAndView mv = new ModelAndView("myAgent");
User user = (User) request.getSession().getAttribute("user");
if(pageNum == null){
pageNum = 1;
}
if(pageSize == null){
pageSize = 6;
}
//使用分頁插件
PageHelper.startPage(pageNum , pageSize);
List<Map> list = agentService.agentList(user.getId()); //獲取後臺數據列表(根據自己系統修改)
//根據查詢的數據列表,得到分頁的結果對象
PageInfo<Map> pageList = new PageInfo<Map>(list);
List<Map> datas = pageList.getList();
mv.addObject("datas", datas);
return mv;
}
其中我在使用的時候,發現有個地方需要注意: 獲取後臺數據列表的這句話 List<Map> agentList = as.agentList(user.getId()); 一定要放在PageHelper.startPage(pageNum , pageSize); 這句話的後邊,否則查詢的分頁效果無效。
引入依賴,加入配置,就可以使用了,在此記錄一下。