SpringBoot使用PageHelper实现分页功能

spring使用PageHelper

https://www.tinstu.com/1282.html

SpringBoot使用PageHelper实现分页功能

第一步:

导入依赖

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

 第二步:

实现类中使用pagehelper

public PageInfo<User> findByPage(int pageNum, int pageSize) {
    
        //1.开启分页,传入pageNum(当前页),pageSize(每页条数)
        PageHelper.startPage(pageNum,pageSize);
    
        //2.利用Mybatis,根据上面设置的分页条件,去查询数据库,得到查询结果;
        List<User> users = userMapper.selectAll();
		
		//3.把得到的数据包装成PageInfo对象
        PageInfo<User> pageInfo = new PageInfo<>(users);
    
        //4.可以获取到分页信息中的相关信息,如:
        pageInfo.getPageNum;   //当前页
        pageInfo.getSize;      //当前页的数量
        pageInfo.getPages;      //总页数
        ..............
        ..............
		
        return pageInfo;
    }

可将查到的数据包装成Page对象

public Page<User> findByPage(int pageNum, int pageSize) {
    
        //1.开启分页,传入pageNum(当前页),pageSize(每页条数)
        PageHelper.startPage(pageNum,pageSize);
    
        //2.利用Mybatis,根据上面设置的分页条件,去查询数据库,得到查询结果;
        List<User> users = userMapper.selectAll();
		
		//3.把得到的数据包装成Page对象
        PageInfo<User> page = new PageInfo<>(users);
    
        //4.可以获取到分页信息中的相关信息
        page.getPageNum;   //当前页
        page.getSize;      //当前页的数量
        page.getPages;      //总页数
        ..............
        ..............
		
        return page;
    }

page和pageinfo的区别

两者都能接收分页数据,pageInfo接收的数据更多,两者属性下方详细

page是一个ArrayList

pageInfo是一个对象

page和pageInfo的详细属性

page

private int pageNum;	//当前页码
private int pageSize; 	//每页数据的数量
private int startRow;	//始页首行行号
private int endRow;		//尾页尾行行号
private long total;		//总记录数
private int pages;		//总页数
private Boolean reasonable; //分页合理化
private Boolean pageSizeZero; //当设置为true的时候,如果pagesize设置为0(或RowBounds的limit=0),就不执行分页,返回全部结果

 pageInfo

    private int pageNum;   			//当前页
    private int pageSize;			//每页显示数据条数
    private int size;				//当前页的数量
    private int startRow; 			//始页首行行号
    private int endRow;				//尾页尾行行号
    private long total;				//总记录数
    private int pages;				//总页数
    private List<T> list;			//查询结果的数据
    private int firstPage;			//首页
    private int prePage;			//上一页
    private int nextPage;			// 下一页
    private int lastPage;			//最后一页
    private boolean isFirstPage;	//是不是第一页
    private boolean isLastPage;		//是不是最后一页
    private boolean hasPreviousPage;//有没有上一页
    private boolean hasNextPage;	//有没有下一页
    private int navigatePages;		//所有导航页号
    private int[] navigatepageNums;	//导航页码数

 

阅读剩余
THE END