Pagehelper获取total错误解决方案
问题描述及解决方案
1、如下配置BaseService分页total总数正常,但是返回的实体为mapper层实体,与需求不一致,因此进行了调整
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;import java.util.List;/*** @param <Param> 泛型request* @param <Result> 泛型response*/
public interface BaseService<Param, Result> {/*** 分页查询** @param param 请求参数DTO* @return 分页集合*/default PageInfo<Result> page(PageParam<Param> param) {return PageHelper.startPage(param).doSelectPageInfo(() -> list(param.getParam()));}/*** 集合查询** @param param 查询参数* @return 查询响应*/List<Result> list(Param param);
}
2、调整如下后,返回数据类型满足,但是出现了total总数等于每页数量问题
/*** @param <Param> 泛型request* @param <Result> 泛型response*/
public interface BaseService<Param, Result> {/*** 分页查询** @param param 请求参数DTO* @return 分页集合*/default PageInfo<Result> page(PageParam<Param> param) {PageHelper.startPage(param);List<Result> list = parse(list(param.getParam()));PageInfo<Result> pageInfo = new PageInfo<>(list);return pageInfo;}/*** 集合查询** @param param 查询参数* @return 查询响应*/List<Result> list(Param param);/*** 补充SO层字段** @param mapperResult* @return*/List<Result> parse(Collection mapperResult);
}
3、再次进行调整
Page page = PageHelper.startPage(pageNum, pageSize);
//使用page的getTotal()
int total = page.getTotal();
4、最终的BaseService如下
/*** @param <Param> 泛型request* @param <Result> 泛型response*/
public interface BaseService<Param, Result> {/*** 分页查询** @param param 请求参数DTO* @return 分页集合*/default PageInfo<Result> page(PageParam<Param> param) {Page page = PageHelper.startPage(param);List<Result> list = parse(list(param.getParam()));long total = page.getTotal();//一定要在获取list之后取totalPageInfo<Result> pageInfo = new PageInfo<>(list);pageInfo.setTotal(total);return pageInfo;}/*** 集合查询** @param param 查询参数* @return 查询响应*/List<Result> list(Param param);/*** 补充SO层字段** @param mapperResult* @return*/List<Result> parse(Collection mapperResult);}
5、如果各位大佬还有更好的解决方式,还请留下您宝贵的建议!
Pagehelper获取total错误解决方案相关推荐
- ruoyi框架分页总条数total返回错误解决方案
ruoyi框架分页总条数total返回错误解决方案 原因:因为自己重新定义了分页方法,如: 就会出现总数返回数据错误问题 总数会变成当前页条数的 这是分页的核心,这里传过来的list 没有 insta ...
- PageHelper关于Mybatis一对多查询返回Total错误
PageHelper关于Mybatis一对多查询返回Total错误 遇到的问题: pagehelper进行一对多查询时,返回的总数量对不上,例如需求是一个页面展示10个spu信息,实际上只展示了6个s ...
- C#编写ASP.NET Core的Web API并部署到IIS上的详细教程(API用于准确获取Word/Excel/PPT/PDF的页数)6 -将项目部署到IIS,及常见错误解决方案
C#编写ASP.NET Core的Web API并部署到IIS上的详细教程(API用于准确获取Word/Excel/PPT/PDF的页数)6 -将项目部署到IIS,及常见错误解决方案 1.前言 2.安 ...
- PageHelper获取总数
使用PageHelper获取不到总数问题 使用PageHelper分页最好在service层需要分页的.查询数据库方法前后(步骤如下),中间不要有其他查询以及不能有一对多的联表查询,否则可能造成分页失 ...
- uni-app:获取当前经纬度解决方案+如何布置全局组件
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.布置全局组件 在我们开发的过程中,会碰到一个现象,就是在页面里面引入组件,总算要写import,components才能引用,这里给大 ...
- @Autowire注入了bean(A)在当前类,但其他类需要调用这个A,报null异常,使用get获取bean为解决方案
@Autowire注入了bean(A)在当前类,但其他类需要调用这个A,报null异常,使用get获取bean为解决方案 问题背景 解决方案 心得 Lyric: 远远抛开一切 问题背景 在做项目时,我 ...
- ZeroMQ接口函数之 :zmq_strerror - 获取ZMQ错误描述字符串
Name zmq_strerror - 获取ZMQ错误描述字符串 Synopsis const char *zmq_strerror (int errnum); Description zmq_str ...
- php捕获500错误信息,php – 如何获取有关错误500的更多信息 – 内部服务器错误?...
我在我的 PHP网站的许多部分使用$ajax请求一切正常,直到几天前我所有的$ajax请求开始给出错误500 – 内部服务器错误. 我可以在控制台中看到该错误,并且我还使用错误处理程序来获取有关错误的 ...
- mysql语句报错1403_GoldenGate SQL error 1403 mapping 错误解决方案
GoldenGate SQL error 1403 mapping 错误解决方案 故障现象: 2011-09-06 15:45:29 WARNING OGG-01004 Oracle GoldenGa ...
- push to origin/master was rejected错误解决方案(IDEA)
push to origin/master was rejected错误解决方案(IDEA) 参考文章: (1)push to origin/master was rejected错误解决方案(IDE ...
最新文章
- Centos-6 编译安装实现LAMP,wordpress最新版
- 学习OpenCV——SVM
- 杭电1260java实现
- 如何在IPFS里面上传一张图片
- C#模拟POST提交表单(一)--WebClient
- Solaris是出色的Java开发平台的原因
- 2018-2019 20165208 网络对抗 Exp3 免杀原理与实践
- 《数据结构与算法分析》学习笔记(二)——算法分析
- linux改键盘映射
- SCRUM 12.23
- 多媒体计算机组装过程,多媒体技术及《计算机组装及维护》课精彩结合.doc
- visual studio 2015无法打开包括文件
- Ubuntu录制gif动态图
- word表格转图片线条不会缺失方法
- arcengine cliasic code(转)基于ArcGIS Engine + C#实现用户自定义动态电力符号
- 多维度对抗 Windows AppLocker
- 某网站电商运营数据分析案例
- 单片机“左移右移理论”,详解
- 计算机/微机组成及相关概念
- 2021年安全员-C证(上海市)考试APP及安全员-C证(上海市)新版试题
热门文章
- python alpha通道_Python Pillow v2.6.0 paletted PNG(256)如何添加Alpha通道?
- 内存的速度和CPU缓存速度比较
- java线程锁有哪几种_Java锁有哪些种类,以及区别
- 重装系统显示“安装程序正在应用系统设置“静止不动
- foxmail邮箱修改服务器,foxmail基本设置方法.foxmail使用技巧
- 重置计算机的网络配置是什么意思,电脑怎么重置网络设置 win10网络重置后连不上网怎么办...
- Kafka的Topic删不掉
- DOS命令关机小程序
- tp框架中构造函数__construct()与初始化函数_initialize()的区别
- 数据集 过滤时 RecordCount 属性