PageHelper
pagehelper是mybatis的一个插件,其作用是更加方便地进行分页查询
分页查询的实现有两种方式
1:直接在sql中使用 limit子句 进行分页查询
limit关键字的用法是:LIMIT [offset,] rows
Ps1:offset是相对于首行的偏移量(首行是0),rows是返回条数
Ps2:mapper中可以传变量,即在实际使用的时候 “offset与rows”可以用变量替代
2:使用第三方库进行分页查询,如mybatis的插件pagehelper
使用PageHelper的好处是在实际项目开发中更方便
原因是:在项目中我们执行一个分页查询时,很多时候还会需要知道该查询的其他信息,如总数、每页数量、当前页数、上一页或下一页等等,这些信息如果每次都自己写的话就太麻烦了,而pagehelper能够帮助我们更方便地获取这些信息,大大方便了我们的开发效率。
PageHelper在SpringBoot中的使用
一:导入插件
1:pom.xml中导入依赖
注意导入的依赖是spring版本的而不是其独立版本,否则pagehelper将不起作用
2:在springboot配置文件(applicable.yml)中声明插件
二:在业务代码中使用
1:UserMapper
2:UserMapper.xml
优点:不需要使用limit
3:实体类
4:service层
5:service实现类
注意:只有紧跟着PageHelper.startPage(pageNum,pageSize)的sql语句才被pagehelper起作用
再次注意:经过再次验证,上面这句话不是扯淡
6:control类
使用中遇到的问题及tips:
1:在使用时pagehelper不起作用
注意pom.xml导入的依赖应该是spring版本的而不是其独立的版本
2:注意:只有紧跟着PageHelper.startPage()的sql语句才被pagehelper起作用
控制台的输出
可以看到只有紧跟着PageHelper.startPage()的那一句起了作用(注意,经过再次验证,这里不是扯淡,其原理可能是”PageHelper.startPage(pageNum,pageSize)在使用的时候启动了一个线程,致使了其能达到这个效果”)
注意,根据控制台可以得知,查询语句的返回结果”users”已经是分页之后的结果了,上面的例子没有写错;将users再传入PageInfo的目的是为了去除暂时用不到的其他信息,得到纯净的数据库信息:pageInfo.getList()
3:PageInfo的信息非常全,查询的个数、上一页、下一页等等信息都有,以上面springboot中的例子为例
Original: https://www.cnblogs.com/suizhikuo/p/16202149.html
Author: 勤学如春起之苗
Title: PageHelper的使用
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/546430/
转载文章受原作者版权保护。转载请注明原作者出处!