文章目录

  • 1、把查询出来的全部记录扔给PageHelper类即可就是这么简单暴力
  • 2、maven依赖
  • 3、pagehelper是如果实现分页的?属于物理分页还是内存分页
  • 4、参考文档

1、把查询出来的全部记录扔给PageHelper类即可就是这么简单暴力

@Overridepublic PageInfo<Map<String, Object>> getPageBook(Integer page, Integer pageSize) {// 开始分页
//1、调用PageHelper的startPage方法设置参数,其中page为当前页,size为每页显示条数PageHelper.startPage(page,pageSize);
//2、调用Mapper层查询全部的方法List<Map<String, Object>> all = bookMapper.getAll();
//3、构造pageInfo返回值return new PageInfo(all);}

2、maven依赖

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

3、pagehelper是如果实现分页的?属于物理分页还是内存分页

a)属于物理分页,给大家看打印出来的sql语句

b)分页原理(有点抽象)
①PageHelper首先将前端传递的参数保存到page这个对象中,接着将page的副本存放入ThreadLoacl中,这样可以保证分页的时候,参数互不影响,接着利用了mybatis提供的拦截器,取得ThreadLocal的值,重新拼装分页SQL,完成分页。
②使用PageHelper.startPage时在当前线程上下文中设置一个ThreadLocal变量,在 ThreadLocal中设置了分页参数,之后在查询执行的时候,获取当前线程中的分页参数,执行查询的时候通过拦截器在sql语句中添加分页参数,之后实现分页查询,查询结束后在 finally 语句中清除ThreadLocal中的查询参数

4、参考文档

a)别人写的分页使用和原理分析:pageHelper分页及工作原理浅析
b)这个是通过源码说原理的:浅析pagehelper分页原理

PageHelper类(pagehelper工具)的分页方式与使用相关推荐

  1. SpringBoot + Mybatis + Druid + PageHelper 实现多数据源并分页

    点击关注公众号,Java干货及时送达 本篇文章主要讲述的是SpringBoot整合Mybatis.Druid和PageHelper 并实现多数据源和分页.其中SpringBoot整合Mybatis这块 ...

  2. Spring Boot + MyBatis + Druid + PageHelper 实现多数据源并分页

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者 | 虚无境 链接 | cnblogs.com/xuwujin ...

  3. SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者: 虚无境 cnblogs.com/xuwujing/p/89 ...

  4. Spring Boot入门系列(十六)整合pagehelper,一秒实现分页功能!

    之前讲了Springboot整合Mybatis,然后介绍了如何自动生成pojo实体类.mapper类和对应的mapper.xml 文件,并实现最基本的增删改查功能.接下来要说一说Mybatis 的分页 ...

  5. PageHelper——一款Mybatis的分页插件

    PageHelper是mybatis一个分页插件,原理就是基于mybatis拦截器,可以用它完成分页 MyBatis提供了拦截器接口,我们可以实现自己的拦截器, 将其作为一个plugin装入到SqlS ...

  6. druid 多数据源_SpringBoot+Mybatis+Druid+PageHelper 实现多数据源并分页

    今天跟大家分享常用的SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页的知识. 1 SpringBoot+Mybatis+ Druid+PageHelper ...

  7. druid 多数据源_SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页

    作者: 虚无境http://cnblogs.com/xuwujing/p/8964927.html 前言 本篇文章主要讲述的是SpringBoot整合Mybatis.Druid和PageHelper ...

  8. 短链接的生成之工具类的编写--三种方式(亲测可用)

    在很多时候我们都需要使用到短链接,比较常见的是在生成微信二维码的时候,长的url不能生成二维码,必须使用短链接.所以短链接的生成就尤其重要,废话不多说,下面直接介绍三种生成短链接的工具类 一.使用百度 ...

  9. Mybatis的5种分页方式

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-/ ...

最新文章

  1. oracle的工具cmd,数据库命令行工具DBCLI
  2. android 添加随意拖动的桌面悬浮窗口,android 添加随意拖动的桌面悬浮窗口
  3. 路印zkRollup AMM将在月底启动流动性挖矿
  4. http server类型和版本号_nginx 简单隐藏服务器版本号
  5. MySQL多表关联查询与存储过程
  6. 454. 四数相加 ||
  7. java awt jar_【Java学习笔记】操作JAR文件
  8. 超级搜索术6-问题驱动/系统思维
  9. 第一象限直线插补程序 c语言,直线插补算法流程(求助四个象限的直线插补程序)...
  10. 留言板显示服务器错误,动易Cms:解读SiteFactory 留言板出现:服务器无响应,错误代码:500-动易Cms教程...
  11. xmapp 终端数据库问题记录 已解决
  12. 伊甸园日历游戏 c语言,HDU2149-Good Luck in CET-4 Everybody!(博弈,打表找规律)
  13. 定义一个描述学生通讯录的类AddressBook并输出
  14. Dito 手指尖的创意
  15. springboot中banner图制作
  16. 整理Ubuntu 14.04 Indicators 以及好的软件
  17. ABAP -- 删除重复项
  18. 小学生学Arduino------制作智能灯
  19. 中国地质大学计算机研究所宿舍,在地大,据说一些寝室闪闪发光
  20. C3P0:C3P0PooledConnectionPoolManager

热门文章

  1. 用python画分时图_Python socket编程之四:模拟分时图
  2. python多大孩子可以学_少儿python教材适合多大的孩子
  3. h5尺寸自适应flexible
  4. 【腾讯TMQ】激情测试-冒烟军团的远征
  5. 电力系统经济调度-入门版
  6. hdu-1173采矿
  7. git 新建分支并推送(push)到远程仓库
  8. Markdown 转 PDF API 数据接口
  9. cas 客户端一个IP对应多个域名
  10. 数据库存储过程之优缺点