Mybatis的PageHepler用法

分页原理

分页在使用时的分类

物理分页:
在操作数据库中的表时,sql语句中使用了limit ?,?,此时sql语句返回的结果是分页结果
逻辑分页:
依赖程序的代码,其原理为:通过sql语句将数据库表中的所有数据都查询出,之后将数据保存在内存中,最终要显示的数据若涉及到分页,到内存中去查找数据返回.通过以上原理得出,逻辑分页在对数据库表的操作上没有limit

物理分页和逻辑分页的区别?

数据库压力:
物理分页对数据库查询操作次数多,数据库压力会更大点,相对而言,逻辑分页对数据库的压力会小
对服务器的压力:
物理分页对服务器的压力相对而言较小,逻辑分页因为要在内存存储大量数据,对服务器压力会大

什么情况应该选择哪种分页?

物理分页:数据量大,数据稳定性差时使用,来实现实时更新数据
逻辑分页:数据量小,数据稳定性高时使用,此时可以使用逻辑分页

实际工作中分页的实现:PageInfo

通常会使用插件:目前市面上使用率较高的是mybatis的插件PageHelper,

PageHelper的使用:

需要导入该插件的依赖

        如果引入了mybatis的起步依赖,那么就无需再引用pageHelper的依赖,mybatis-spring-boot-starter`中已经包含了PageHelper的依赖,因此不需要单独引入PageHelper的依赖。

在代码中使用PageHelper的api方法实现分页
在这里插入图片描述

使用pageInfo和不使用pageInfo的区别

使用PageInfo对象,可以方便地封装分页信息,包括总记录数、当前页码、每页显示记录数等。同时,PageInfo对象也提供了一些便捷的方法,如获取总页数、是否是第一页、是否是最后一页等等,极大地提升了分页查询的开发效率。如果不使用PageInfo对象,那么在进行分页查询时,需要手动计算分页信息,包括总记录数、总页数、当前页码、每页显示记录数等,这样会增加代码复杂度和开发难度。同时,在返回查询结果时,也需要手动将分页信息封装到返回对象中,较为繁琐。因此,使用PageInfo对象可以更加方便地进行分页查询和返回分页信息,提升开发效率,减少出错的可能性。

第一步:导入依赖

如果引入了mybatis的起步依赖,那么就无需再引用pageHelper的依赖,mybatis-spring-boot-starter`中已经包含了PageHelper的依赖,因此不需要单独引入PageHelper的依赖。

第二步,调用分页对象

前台需要传过来分页的参数,比如页码pageNum,每页显示条数pageSize
先判断传过来的参数是否为空,如果为空,则返回错误

1、构建页对象 PageHelper.startPage(pageNum,pageSize);
2、构建分页对象,向分页对象中传入值 PageInfo pageInfo = new PageInfo(list)
3、将分页对象返回到前端。

这个地方需要注意的是分页对象只有在查询数据库的时候才会起作用。不查询数据库没有什么实际作业,就不会分页了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值