springboot+mybatis 利用PageHelper插件分页,结果第二页的返回分页信息还是和第一页一样。
正常使用PageHelper来分页时可以的,但是如果在查询list后做了非常多的处理,即解包在装包操作。可能最后返回时分页的数据查询的对,但是分页信息就有问题了。有的甚至分页功能都不行。这里为避免几个坑,有些规则遵守还是有必要的。
1.首先将下面这句代码放在第一行。
PageHelper.startPage(pageNum, pageSize);
2.查询出list后,通过下面语句获取总条数。这个不是这一页的总条数,而是不分页情况下查询的总条数。
PageInfo<实体类> pageInfo = new PageInfo(实体类对应的集合);
int total = (int)pageInfo.getTotal();
3.在代码的最后做如下处理
CommonPage<StandardLessonInfo> orderCommonPage = CommonPage.restPage(lessonInfoList);orderCommonPage.setList(lessonInfoList);orderCommonPage.setPageNum(pageNum);orderCommonPage.setPageSize(pageSize);orderCommonPage.setTotalPage((total + pageSize - 1) / pageSize);orderCommonPage.setTotal(pageInfo.getTotal());return CommonResult.success(orderCommonPage);
下面是具体的demo。
public CommonResult<CommonPage<StandardLessonInfo>> queryUserLessonDetail(Integer pageNum, Integer pageSize, Long parentUserId, Integer type, Date starTime) {PageHelper.startPage(pageNum, pageSize);//首先查询该家长一种类型的所有账户变动记录信息List<FinanceBalanceChange> financeBalanceChanges = lessonMapper.selectFinanceBalanceChangeByAccountType(parentUserId, type, starTime);if (financeBalanceChanges == null || financeBalanceChanges.size() < 1) {return CommonResult.success(CommonPage.restPage(new ArrayList<>(0)));}PageInfo<FinanceBalanceChange> pageInfo = new PageInfo(financeBalanceChanges);int total = (int)pageInfo.getTotal();List<StandardLessonInfo> lessonInfoList = new ArrayList<>(financeBalanceChanges.size());//根据不同的reason,会获取不同的信息。financeBalanceChanges.forEach(financeBalanceChange -> {做了很多的业务处理。。。。。。lessonInfoList.add(standardLessonInfo);});CommonPage<StandardLessonInfo> orderCommonPage = CommonPage.restPage(lessonInfoList);orderCommonPage.setList(lessonInfoList);orderCommonPage.setPageNum(pageNum);orderCommonPage.setPageSize(pageSize);orderCommonPage.setTotalPage((total + pageSize - 1) / pageSize);orderCommonPage.setTotal(pageInfo.getTotal());return CommonResult.success(orderCommonPage);}
springboot+mybatis 利用PageHelper插件分页,结果第二页的返回分页信息还是和第一页一样。相关推荐
- SpringBoot + Mybatis + Druid + PageHelper 实现多数据源并分页
点击关注公众号,Java干货及时送达 本篇文章主要讲述的是SpringBoot整合Mybatis.Druid和PageHelper 并实现多数据源和分页.其中SpringBoot整合Mybatis这块 ...
- SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者: 虚无境 cnblogs.com/xuwujing/p/89 ...
- SpringBoot + Mybatis + Druid + PageHelper 实现多数据源分页
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 虚无境的博客 来源 | http://8rr. ...
- SSM中使用Mybatis的PageHelper插件实现分页
效果 实现 前言 前面实现SSM整合以及实现原始手动分页参考 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/85113289 添加 ...
- Springboot Mybatis使用PageHelper实现分页查询
以下介绍实战中数据库框架使用的是mybatis,对整合mybatis此处不做介绍. 使用pageHelper实现分页查询其实非常简单,共两步: 一.导入依赖: pom.xml添加依赖: <!-- ...
- Springboot Mybatis使用pageHelper实现分页查询
以下介绍实战中数据库框架使用的是mybatis,对整合mybatis此处不做介绍. 使用pageHelper实现分页查询其实非常简单,共两步: 一.导入依赖: 二.添加配置: 那么开始, 第一步: p ...
- Spring + Mybatis 使用 PageHelper 插件分页
转载:http://blog.csdn.net/joker_zhou/article/details/50418005 先增加maven依赖: [html] view plaincopy print? ...
- layui结合mybatis的pagehelper插件的分页通用的方法
总体思路: 1.前台查询的时候将当前页和页大小传到后台 2.后台将当前页,页大小以及数据与数据总数返回前台,前台显示完表格完数据之后显示分页插件. 前台页面: 准备查询条件的表单,与数据表格,分页di ...
- SpingBoot中使用MyBatis和pagehelper实现数据的增删改查和分页
文章目录 一.认识MyBatis CRUD注解 映射注解 高级注解 二.用MyBatis实现数据的增加.删除.修改.查询和分页 1.创建springboot项目并引入依赖 2.实现数据表的自动初始化 ...
最新文章
- 配置 php-fpm 监听的socket
- javabean和EJB的区别
- Android studio Day01-23
- clistctrl 单机空白处 会取消选中_官方默许BUG:无法选中也能被控制?这些秘密很多玩家到现在都没发现!...
- Kubernetes pod状态出现ImagePullBackOff的原因
- Android之解决开启热点后跳转页面不稳定问题
- [SDOI2011]消耗战
- 2020年2月全国程序员工资统计
- Oracle使用数据泵导入/导出数据(expdp/impdp)【图文教程】
- 想要羊毛薅得少,欺诈防控少不了
- 从零打造一个程序员的mac
- 【LeetCode】【字符串】题号:*657. 机器人能否返回原点
- jdk1.8 64位 32位免费下载
- 小米路由器R1C或R1CM小米R1C 原厂Bootloader和epproom
- LaTeX中文伪代码
- Runnable小练习(网图下载)
- 基于数据驱动的故障检测(一)
- mysql 1236 bug_MySQL 1236错误解决方法
- LPC1768用官方库中用寄存器开启两个硬件PWM
- arm-3-中断体系结构