PageHelper。
我们知道,在mysql中,分页的sql是使用limit来做,如果我们自己写sql,那分页肯定是没有任何问题的。但是一旦model多了起来,复杂了起来,我们很自然的想到使用mybatis的逆向工程来生成相应的po和mapper,但是同时也会带来弊端,比如这里的分页问题就不好解决了。
在springboot中 使用pagehelper是比较简单的:
第一步:在pom中添加:
com.github.pagehelper
pagehelper-spring-boot-starter
1.2.3
第二步 ,在application.yml中添加,我使用的是mysql
#pagehelper 分页插件
pagehelper:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
params: countSql
接下来就可以在项目中使用了:
PageInfo shShopSeatPageInfo = shopService.getWeChatByPageInfo(pageInfo,shopId);
pageInfo:为前端传过来的当前页码
@Override
public PageInfo getWeChatByPageInfo(Integer pageInfo, Integer shopId) {
PageHelper.startPage(pageInfo,10);
return new PageInfo<>(shopSeatDAO.findByShopId(shopId));
}
测试结果:
{
"code": 0,
"data": {
"shShopSeatPageInfo": {
"pageNum": 0,
"pageSize": 10,
"size": 0,
"startRow": 0,
"endRow": 0,
"total": 0,
"pages": 0,
"list": [],
"prePage": 0,
"nextPage": 0,
"isFirstPage": false,
"isLastPage": true,
"hasPreviousPage": false,
"hasNextPage": false,
"navigatePages": 8,
"navigatepageNums": [],
"navigateFirstPage": 0,
"navigateLastPage": 0,
"firstPage": 0,
"lastPage": 0
},
"code": 0
},
"message": "true"
}
想看Mybatis中整合 pageHelper的可以去:https://blog.csdn.net/eson_15/article/details/52270046