天天看点

.net转Java学习笔记07-分页插件-PageHelper的使用方法

项目列表展示都需要分页,之前都是用公司封装的方法,最近项目需要用PageHelper分页插件,简单做个记录。

第一步、导包(或者导入坐标)

<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper-spring-boot-starter</artifactId>
 <version>1.2.12</version> 
</dependency>
           

第二步 使用PageHelper

这就结束 后面查询的结果就是分页后的结果了

当然想要实际项目使用,可以封装一些。

封装分页类

package com.jydw.core.PageCore;

public class PageRequest {
    /**
     * 当前页码
     */
    private int pageNum;
    /**
     * 每页数量
     */
    private int pageSize;

    public int getPageNum() {
        return pageNum;
    }
    public void setPageNum(int pageNum) {
        this.pageNum = pageNum;
    }
    public int getPageSize() {
        return pageSize;
    }
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
}

           

引入PageInfo 类

@Override
    public PageInfo selectPersonDetailByTime(String eventTime,PageRequest pageRequest) {
        PageHelper.startPage(pageRequest.getPageNum(),pageRequest.getPageSize());
        List<SysRxtd> sysRxtds = sysRxtdMapper.selectPersonDetailByTime(eventTime);
        PageInfo pageInfo = new PageInfo(sysRxtds);
        return pageInfo;
    }
           

这样在RestController就可以通过pageInfo获取到返回list,当前页数等参数了。

下面是pageInfo的一些参数

//当前页
private int pageNum;

//每页的数量
private int pageSize;

//当前页的数量
private int size;

//由于startRow和endRow不常用,这里说个具体的用法
//可以在页面中"显示startRow到endRow 共size条数据"
//当前页面第一个元素在数据库中的行号
private int startRow;

//当前页面最后一个元素在数据库中的行号
private int endRow;
//总记录数
private long total;

//总页数
private int pages;

//结果集(每页显示的数据)
private List<T> list;

//第一页
private int firstPage;

//前一页
private int prePage;

//是否为第一页
private boolean isFirstPage = false;

//是否为最后一页
private boolean isLastPage = false;

//是否有前一页
private boolean hasPreviousPage = false;

//是否有下一页
private boolean hasNextPage = false;

//导航页码数
private int navigatePages;

//所有导航页号
private int[] navigatepageNums;
           

继续阅读