PageHelper分页插件的使用

425 阅读1分钟

maven依赖

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

使用方法:

  1. 使用pageHelper.startPage来声明起始页和页大小
  2. 获取查询结果list
  3. 用PageInfo封装查询结果,pageInfo会自动将查询结果分页并记录页号、总页数、每页记录数量等信息
public PageInfo<Student> getStudentList(int pageNum) {
        logger.info("Startpage: " + pageNum);
        PageHelper.startPage(pageNum, PAGE_SIZE);
        List<Student> result = studentDao.getAllStudents();
        PageInfo<Student> pageInfo = new PageInfo<>(result);

        return pageInfo;
    }

PageInfo对象的属性:

重要属性:

  • pageSize: 每页记录数量
  • size:当前页数量
  • pageNum:当前页码
  • startRow:第一条记录在查询结果的行号
  • pages:总页数
  • nextPage:下一页页码
  • prePage:上一页页码
//当前页
    private int pageNum;
    //每页的数量
    private int pageSize;
    //当前页的数量
    private int size;

    //由于startRow和endRow不常用,这里说个具体的用法
    //可以在页面中"显示startRow到endRow 共size条数据"

    //当前页面第一个元素在数据库中的行号
    private int startRow;
    //当前页面最后一个元素在数据库中的行号
    private int endRow;
    //总页数
    private int pages;

    //前一页
    private int prePage;
    //下一页
    private int nextPage;

    //是否为第一页
    private boolean isFirstPage = false;
    //是否为最后一页
    private boolean isLastPage = false;
    //是否有前一页
    private boolean hasPreviousPage = false;
    //是否有下一页
    private boolean hasNextPage = false;
    //导航页码数
    private int navigatePages;
    //所有导航页号
    private int[] navigatepageNums;
    //导航条上的第一页
    private int navigateFirstPage;
    //导航条上的最后一页
    private int navigateLastPage;