分页插件PageHelper

目录

1. 分页插件的使用步骤

①添加依赖

②配置分页插件

2. 分页插件的使用


1. 分页插件的使用步骤

①添加依赖


<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>

②配置分页插件

MyBatis的核心配置文件中配置插件

<plugins>
<!--设置分页插件-->
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>

2. 分页插件的使用

   /**
     *
     * @param pageNo 分页页码
     * @param pageSize 分页大小
     * @param student 查询条件
     * @return
     */
    @Override
    public PageInfo<Student> page(int pageNo, int pageSize, Student student) {
        // 开启分页
        PageHelper.startPage(pageNo, pageSize);
        // 查询
        List<Student> list = studentMapper.page(student);
        // 封装分页信息,把查询结果List集合封装到PageInfo
        PageInfo<Student> pageInfo = new PageInfo<>(list);
        return pageInfo;
    }

1. 开启分页:

 PageHelper.startPage(pageNo, pageSize);

        这行代码的作用是设置分页参数,其中pageNo表示当前页码,pageSize表示每页显示的记录数。调用这个方法后,接下来的MyBatis查询语句会自动添加上分页的SQL限制语句。

2.执行查询:

   List<Student> list = studentMapper.page(student);
   

        这里假设studentMapper是一个MyBatis的Mapper接口,而page(student)是自定义的一个查询方法,它根据传入的Student对象(可能包含查询条件)来获取数据。由于之前已经调用了PageHelper.startPage,所以这次查询会自动带上分页限制。在mapper文件的sql语句中就不用去主动加上 limit pageNo, pageSize;

3.封装分页信息:

   PageInfo<Student> pageInfo = new PageInfo<>(list);

        PageInfo类是PageHelper提供的一个工具类,用来封装分页后的数据和分页信息。通过将查询结果列表list传递给PageInfo构造器,可以得到包含了总记录数、总页数、当前页数据等信息的对象。

介绍:

a>在查询功能之前使用PageHelper.startPage(int pageNum, int pageSize) 开启分页功能

pageNum:当前页的页码

pageSize:每页显示的条数

b>在查询获取list集合之后,使用PageInfo<T> pageInfo = new PageInfo<>(List<T> list, int

navigatePages)获取分页相关数据

list:分页之后的数据

navigatePages:导航分页的页码数

c>分页相关数据

PageInfo{

pageNum=8, pageSize=4, size=2, startRow=29, endRow=30, total=30, pages=8,

list=Page{count=true, pageNum=8, pageSize=4, startRow=28, endRow=32, total=30, pages=8, reasonable=false, pageSizeZero=false},

prePage=7, nextPage=0, isFirstPage=false, isLastPage=true, hasPreviousPage=true, hasNextPage=false, navigatePages=5, navigateFirstPage4, navigateLastPage8, navigatepageNums=[4, 5, 6, 7, 8]

}

pageNum:当前页的页码

pageSize:每页显示的条数

size:当前页显示的真实条数

total: 总 记 录 数  

pages: 总 页 数

prePage:上一页的页码

nextPage:下一页的页码

isFirstPage/isLastPage:是否为第一页/最后一页

hasPreviousPage/hasNextPage:是否存在上一页/下一页

navigatePages:导航分页的页码数

navigatepageNums:导航分页的页码,[1,2,3,4,5]

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值