springBoot中使用 pagehelper

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

你可能感兴趣的:(MyBatis,springBoot,pageHelper,只要相信才能造飞机)