SpringBoot简单使用PageHelper分页组件

前言

PageHelper 插件是真的很方便,特别方便,非常方便。尽管手撸一个分页也不难,用一下limit,order 之类的SQL即可。但有简便的怎么能不用呢。

1. 使用方法

这儿就介绍一种简便的方法就行了,其他很多种很多种方法请自己查看官方文档,文档里面也有实例。

1.1 Maven依赖

我之前在讲 mybatis 的博客中,专门提了这个组件的作者。
在Springboot里面使用,作者专门集成了springboot 使用的Maven。添加即可使用。

<dependency>
    <groupId>com.github.pagehelpergroupId>
    <artifactId>pagehelper-spring-boot-starterartifactId>
    <version>最新版本version>
dependency>

最新版本查看 github

这儿如果在PageHelper 的官方页面上直接使用上面的Maven的话,会出现一个bug。

<dependency>
    <groupId>com.github.pagehelpergroupId>
    <artifactId>pagehelperartifactId>
    <version>5.1.10version>
dependency>

分页会出现问题,分页没有效果,会把所有结果都返回出来。如果你是用的Springboot的话,一定要用Spring boot集成的版本Maven。

1.2 Mapper

Mapper中直接将List换成Page。

1.3 使用

public PageInfo<User> findAllConsumers(int pageNum, int pageSize){
    //静态方法直接引用pageNum:页数 pageSize:每页多少数量
    PageHelper.startPage(pageNum,pageSize);
    PageInfo<User> pageInfo = new PageInfo<>(userMapper.selectAllUser());
    return pageInfo;
}

是不是很简单

2. 结果

{
        "total":18,
        "list":[
        {
        "consumerId":1234,
        "consumerName":"张三",
        "consumerPassword":"1234"
        },
        {
        "consumerId":17069109987,
        "consumerName":"思考",
        "consumerPassword":"234lk"
        },
        {
        "consumerId":17069130001,
        "consumerName":"李四",
        "consumerPassword":"1234234"
        },
        {
        "consumerId":17069130011,
        "consumerName":"张三",
        "consumerPassword":"1234"
        },
        {
        "consumerId":17069130012,
        "consumerName":"张三",
        "consumerPassword":"1234"
        }
        ],
        "pageNum":1,
        "pageSize":5,
        "size":5,
        "startRow":1,
        "endRow":5,
        "pages":4,
        "prePage":0,
        "nextPage":2,
        "isFirstPage":true,
        "isLastPage":false,
        "hasPreviousPage":false,
        "hasNextPage":true,
        "navigatePages":8,
        "navigatepageNums":[
        1,
        2,
        3,
        4
        ],
        "navigateFirstPage":1,
        "navigateLastPage":4
        }

PageHelper yml中配置的话参考官方文档的参数介绍。不过基本不用设置。

3. 参考资料

  • Mybatis-PageHelper官方文档
  • 官方PageHelper integration with Spring Boot

你可能感兴趣的:(SpringBoot,MyBatis,PageHelper)