十六. springboot整合分页插件PageHelper

2020-02-11  本文已影响0人  任未然

一. 概述

后端开发80%都是查询操作, 而查询经常涉及到数据分页, 分页工具有很多, 本文介绍的是分页插件PageHelper, 工程基于springboot
参考文章: springBoot mybatis整合pageHelper

二. 使用说明

2.1 导包

<!-- 分页插件 -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.3</version>
</dependency>

2.2 YML配置

pagehelper:
  autoRuntimeDialect: true
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql

2.3 分页使用示例

controller层

@RestController
@RequestMapping("/pageHelperTest")
public class PageHelperTest{
    @Autowired
    private UserService userService;
   @RequestMapping()
    public PageInfo<User> pageHelperTest(int pageNum, int pageSize){
        //调用方法进行分页查询
        return userService.findAll(currentPage, pageSize);
    }
}

service层

@Service
public class UserService{
    @Autowired
    private UserMapper userMapper;
    public PageInfo<User> findAll(int pageNum, int pageSize) {
        // 设置分页参数; pageNum:页码, pageSize:每页大小
        PageHelper.startPage(pageNum,pageSize);
        // 执行sql查询方法查询所有数据, 会自动分页
        List<User> list = userMapper.findAll();
        return new PageInfo<User>(list);
    }
}

返回json结果示例

{
  "pageNum": 3,
  "pageSize": 3,
  "size": 3,
  "startRow": 7,
  "endRow": 9,
  "total": 10,
  "pages": 4,
  "list": [
    {
      "id": 9,
      "username": "bajie",
      "password": "123456",
      "createTime": "2019-06-21T16:00:00.000+0000",
      "trueName": "猪八戒",
      "remarks": null,
      "bz": null
    },
    {
      "id": 10,
      "username": "wukong",
      "password": "123456",
      "createTime": "2019-06-21T16:00:00.000+0000",
      "trueName": "孙悟空",
      "remarks": null,
      "bz": null
    },
    {
      "id": 11,
      "username": "shasheng",
      "password": "123456",
      "createTime": "2019-06-21T16:00:00.000+0000",
      "trueName": "沙悟净",
      "remarks": null,
      "bz": null
    }
  ],
  "prePage": 2,
  "nextPage": 4,
  "isFirstPage": false,
  "isLastPage": false,
  "hasPreviousPage": true,
  "hasNextPage": true,
  "navigatePages": 8,
  "navigatepageNums": [
    1,
    2,
    3,
    4
  ],
  "navigateFirstPage": 1,
  "navigateLastPage": 4,
  "firstPage": 1,
  "lastPage": 4
}
上一篇下一篇

猜你喜欢

热点阅读