1.常见失效问题

1.分页查询失效
tips:只有紧跟在方法后的第一个 Mybatis 的查询(Select)方法会被分页

检查startPage(int pageNum, int pageSize)或offsetPage(int offset, int limit)方法后是否为需分页的查询结果

2.使用PageInfo包装的总记录数total数量错误

错误示例:

//PageInfo返回的total为第一个 Mybatis 的查询结果的总记录数
Page page = PageHelper.startPage(listReq.getPageNum(), listReq.getPageSize());
List<User> list = userMapper.selectList(new QueryWrapper<User>());
List<UserResp> respList = JsonCopyUtil.copy(list,UserResp.class);
return new PageInfo(respList);

正确示例:

//手动设置总记录数total和总页数pages
Page page = PageHelper.startPage(listReq.getPageNum(), listReq.getPageSize());
List<User> list = userMapper.selectList(new QueryWrapper<User>());
List<UserResp> respList = JsonCopyUtil.copy(list,UserResp.class);
PageInfo pageInfo = new PageInfo(respList);
//总页数
pageInfo.setPages(page.getPages());
//总条数
pageInfo.setTotal(page.getTotal());
return pageInfo;
//复杂查询不建议使用lambda
return PageHelper.startPage(listReq.getPageNum(), listReq.getPageSize()).doSelectPageInfo(() -> JsonCopyUtil.copy(eventInfoMapper.selectList(new QueryWrapper<User>()),UserResp.class)
);

3.PageHelper安全调用

参考官方文档检索PageHelper 安全调用,查看源码抽象类PageMethod

protected static final ThreadLocal<Page> LOCAL_PAGE = new ThreadLocal<Page>();

2.使用分页方式(PageHelper官方文档)

方法1:startPage(int pageNum, int pageSize)或offsetPage(int offset, int limit)
tips:只有紧跟在方法后的第一个 Mybatis 的查询(Select)方法会被分页

PageHelper.startPage(page.getPageNum(), page.getPageSize());
List<User> respList = userMapper.selectList(new QueryWrapper<User>());
return new PageInfo(respList);
PageHelper.offsetPage(page.getPageNum(), page.getPageSize());
List<User> respList = userMapper.selectList(new QueryWrapper<User>());
return new PageInfo(respList);

方法2:lambda用法

return PageHelper.startPage(page.getPageNum(), page.getPageSize()).doSelectPageInfo(() -> userMapper.selectList(new QueryWrapper<User>())
);

3.配置参数取消分页

step1:配置 pageSizeZerotrue
step2:设置 pageSize = 0 或者 RowBounds.limit = 0

4.QueryInterceptor使用(QueryInterceptor 规范)

待补充~

PageHelper使用及常见失效问题相关推荐

  1. 你知道铅酸蓄电池的常见失效模式吗?

    阀控密封式铅酸蓄电池作为通信电源的重要组成部分,已广泛用于金融行业.数据中心.电力.通信等领域. 但近年来,铅酸蓄电池失效导致备用电源无法正常启用的事故时有发生,因此,我们很有必要了解铅酸蓄电池的常见 ...

  2. LED常见失效案例及分析

    引言 LED(Light emitting diodes)产品在生产与使用过程中,往往容易因各种应力或环境等因素的影响,导致失效不良的产生,即发生LED失效. 针对LED产品发生的失效问题,主要集中于 ...

  3. mos 控制交流_详解MOS管原理及几种常见失效分析

    MOS管英文全称为Metal Oxide Semiconductor即金属氧化物半导体,即在集成电路中绝缘性场效应管.确切的说,这个名字描述了集成电路中MOS管的结构,即:在一定结构的半导体器件上,加 ...

  4. 详细整理Spring事务失效的具体场景及解决方案

    实际项目开发中,如果涉及到多张表操作时,为了保证业务数据的一致性,大家一般都会采用事务机制:好多小伙伴可能只是简单了解一下,遇到事务失效的情况,便会无从下手,溪源此篇文章给大家整理了一下常见Sprin ...

  5. 面试官:Spring事务失效的场景有哪些?如何解决?

     作者:溪~源 blog.csdn.net/xuan_lu/article/details/107797505 实际项目开发中,如果涉及到多张表操作时,为了保证业务数据的一致性,大家一般都会采用事务机 ...

  6. 你否有遇到Spring事务失效,花费太多时间找bug

    作者:溪~源 来源:blog.csdn.net/xuan_lu/article/details/107797505 实际项目开发中,如果涉及到多张表操作时,为了保证业务数据的一致性,大家一般都会采用事 ...

  7. DRAM失效机制和故障模型

    目录 一.DRAM功能模型 二.DRAM常见失效机制 三.DRAM常见故障模型 一.DRAM功能模型 二.DRAM常见失效机制 1.SRAM常见失效机制: 访问失效:在读操作时,弱电流访问晶体管操作或 ...

  8. Spring 事务管理及失效总结

    Spring 事务管理及失效总结 所谓事务管理,其实就是"按照给定的事务规则来执行提交或者回滚操作". Spring 并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职 ...

  9. 芯片封装基本流程及失效分析处理方法

    芯片封装 芯片封装的目的在于对芯片进行保护与支撑作用.形成良好的散热与隔绝层.保证芯片的可靠性,使其在应用过程中高效稳定地发挥功效. 工艺流程 硅片减薄 使用物理手段,如磨削.研磨等:或者化学手段,如 ...

最新文章

  1. 用户密码加密存储十问十答,一文说透密码安全存储
  2. 使用思科路由器防御DDOS
  3. 如何获取python的当前工作目录-python如何获取当前工程根目录
  4. stm31.js使用详解(网页魔法菜单)
  5. EOS 智能合约源代码解读 (10)token合约“几种关键操作”
  6. Docker 学习资料汇总
  7. 河北计算机一级考试题库操作题,年河北计算机一级操作题题库及答案.doc
  8. LeetCode SQL 196. 删除重复的电子邮箱
  9. Android RemoteController使用
  10. 无法解析的外部符号的几种可能(lib方面的)(还有dll方面的,不在本文中)...
  11. Java Date Time 教程-时间测量
  12. PHP中一些有用的函数
  13. leetcode 4 --- 寻找两个有序数组的中位数
  14. dock run mysql v3_Docker入门(三) - 搭建mysql
  15. 盘点物联网网络和设备安全的五个误解
  16. Synchronized与ReentrantLock的区别
  17. 自组织特征映射网络1
  18. 神经网络基本原理简明教程之线性回归预测房价
  19. 使用wsimport命令将wsdl文件生成服务端以及客户端
  20. 示波器使用方法,正确使用示波器

热门文章

  1. 程序员转架构之路,竟被阿里用作内部晋升参考
  2. HBase学习(5)-MapReduce操作HBase
  3. sync、fsync的区别是什么?
  4. 【图形学】30 前向渲染多光照场景代码理解
  5. 集美大学计算机主要学什么,集美大学2020年各专业录取分排行榜!什么专业最难考?...
  6. sigaction 使用
  7. 在macOS中同时安装jdk8、jdk9、jdk11、jdk12并自由切换
  8. 【Android】 桌面图标右上角显示数字(角标)
  9. win10应用 UWP 使用MD5算法
  10. 2021年一建考试现在备考早不早?