pagehelper 关闭count(0)查询 以及pagehelper的分页原理分析

startPage方法有两个参数。第一个参数是启始页,启始页从1开始计,当启始页设置为0时默认为1。第二个参数为一页显示几条数据。

offsetPage同样有两个参数。但是第一个参数则为启始数据的条数,第二个参数则为从启始数据开始取几条数据。

Mybatis插件PageHelper使用简单总结_u014268482的博客-CSDN博客

spring boot学习 ---- 使用pageHelper实现分页功能 - Banana_Fish - 博客园

分页获取总页数,上一页,下一页等

//1.设置分页
Page page = PageHelper.startPage(dataTablesFrom.getPageNum(),dataTablesFrom.getPageSize());
//2.查数据库
List<Object> list = dao.selectList();
//3.将结果给到PageInfo
PageInfo info = new PageInfo<>(page.getResult());
//获取各种想要的结果
int size = info.getSize();//获取总条数info.getPageNum();//起始页
info.getPageSize();//每页条数
info.getNavigateLastPage();//一共多少页
info.getPrePage();//前一页
info.getNextPage();//下一页

PageHelper获取总数_Echouuu的博客-CSDN博客_pagehelper返回总数

分页原理解读:

PageHelper.offsetPage(PAGE_NUM, PAGE_SIZE),是在 ThreadLocal中设置了分页参数,之后在查询执行的时候,获取当前线程中的分页参数(即从threadlocal中取出),执行查询的时候通过拦截器(PageInterceptor)在sql语句中添加分页参数,实现分页查询。查询结束后在 finally 语句中清除ThreadLocal中的查询参数。

在 Mybatis中有四个地方提供了拦截的机会

1 Executor

2 ParameterHandler

3 ResultSetHandler

4 StatementHandler

分页插件拦截的是 Executor ,也就是在sql执行的时候

mybatis插件开发-pageHelper原理 - 简书

生产问题

5.1.9版本的pageHelper的bug,offsetPage查询为空。

原因:页条数大于表数据总数,limit>total

需要更新到5.2.0

https://github.com/pagehelper/Mybatis-PageHelper/issues/224

pagehelper原理 分页相关推荐

  1. PageHelper 关闭COUNT(0)查询 以及PageHelper 的分页原理分析

    pagehelper 关闭count(0)查询 以及pagehelper的分页原理分析 情景再现:在给移动端提供分页查询数据接口时,知道他们不需要总条数.但是使用pagehelper 分页查询打印的s ...

  2. Github PageHelper 原理解析

    任何服务对数据库的日常操作,都离不开增删改查.如果一次查询的纪录很多,那我们必须采用分页的方式.对于一个Springboot项目,访问和查询MySQL数据库,持久化框架可以使用MyBatis,分页工具 ...

  3. PageHelper实现分页查询

    文章目录 前言 一.PageHelper实现分页查询 二.PageHelper的基本使用 1. 先编写持久层 2.编写业务逻辑层 3..编写控制层 4.使用JsonPage返回结果 总结 前言 分页查 ...

  4. mybatis pagehelper实现分页

    jar包的版本一定要对应,不然会出现一系列的问题 下载jar包 <properties>           <!-- spring版本号 -->           < ...

  5. springboot使用PageHelper实现分页

    使用mybatis最头疼的就是写分页,需要先写一个查询count的select语句,在写一个真正的limit查询语句,所以花费很长的时间,这里咋们可以使用PageHelper实现分页. 1.首先引入p ...

  6. pagehelper 不分页的解决方法

    pagehelper 不分页的解 pagehelper PageHelper.startPage(1, 10);只对该语句以后的第一个查询语句得到的数据进行分页, 就算你在PageInfo pa = ...

  7. Springboot Mybatis使用PageHelper实现分页查询

    以下介绍实战中数据库框架使用的是mybatis,对整合mybatis此处不做介绍. 使用pageHelper实现分页查询其实非常简单,共两步: 一.导入依赖: pom.xml添加依赖: <!-- ...

  8. springboot+mybatis 利用PageHelper插件分页,结果第二页的返回分页信息还是和第一页一样。

    正常使用PageHelper来分页时可以的,但是如果在查询list后做了非常多的处理,即解包在装包操作.可能最后返回时分页的数据查询的对,但是分页信息就有问题了.有的甚至分页功能都不行.这里为避免几个 ...

  9. MyBatis使用PageHelper排序分页

    文章目录 MyBatis使用PageHelper排序分页 前言 排序分页 使用PageHelper排序分页 添加PageHelper Spring Boot依赖 新增一个列表查询的方法 使用PageH ...

最新文章

  1. 独家 | 5大冠军出炉!李开复的AI挑战赛,冠军们聊到了这么些感受
  2. codevs1032
  3. 基于Struct的云和租房系统(简单房屋出租)
  4. python phpstudy_GitHub - Writeup007/phpStudyBackDoor: phpStudy后门检测与利用工具,Python脚本,可一键 GetShell。...
  5. macos访问linux分区,在linux中访问macos 下的分区。
  6. docker linux 快速开窗口_技术|如何使用 Docker 快速配置数据科学开发环境?
  7. 修改oracle数据库内存参数,物理内存扩容,oracle 11g R1数据库相关参数修改
  8. Tensorflow Timeline介绍及简单使用
  9. BW报表igs服务配置解决中文显示问题
  10. 腾讯云Nginx配置https
  11. Spring事务管理2----编程式事务管理
  12. Adobe Flex初记
  13. 【OpenCV入门指南】第十一篇 鼠标绘图
  14. matplotlib 水平堆积图
  15. 【雕爷学编程】Arduino动手做(3)---微波雷达感应开关模块
  16. 全球诺贝尔奖得主最多的30所大学
  17. 快速锁定计算机的按键的快捷键,win7系统如何设置锁定计算机快捷键
  18. matlab化工实例,运用MATLAB软件处理化工实验数据
  19. 推荐--jQuery使用手册 1
  20. 循环当中的continue用法

热门文章

  1. 易筋经韦驮劲十二势图及拳谱
  2. 亚马逊云科技:一杯好牛奶背后的AI引擎
  3. MATLAB 基础笔记(三):二维图像绘图
  4. 免费oracle账号拿走不谢(下载jdk1.8需要登陆oracle账号解决)
  5. 武汉区块链软件公司:当群雄逐鹿的时代结束,区块链的未来还要看巨头
  6. 国内八大网络硬盘对比分析
  7. xy苹果助手安装_XY苹果助手下载
  8. 企业印章管控新模式:集中管控、分散使用
  9. js如何获取jwt信息_如何获取有价值的信息
  10. applet调用js:导入netscape.javascript.JSObject包