Pagehelper获取total错误

前言

在使用若依框架的pagehelper时,给分页表设置数据的时候前端只收到了分页的那一页的数据,总记录数不符合要求

我想要的效果如下,可以实现分页,和显示总记录数

image-20241013184107499

但是实际情况为

image-20241013184129207

image-20241013184141579

但是我的数据库有11条记录,他这里明显错误了 (这里我给分页后的list做了加工处理并且返回<伏笔>)

一开始我以为是selectList的问题

进行了单元测试

首先我们在配置文件配置mybatis的sql语句显示

image-20241013184356933

 <!-- 打印sql日志 --><setting name="logImpl" value="STDOUT_LOGGING" />

image-20241013184255105

mapper语句没有错误,排除,让我们来看下使用了分页拦截器的sql语句

image-20241013184537863

首先拦截器会进行一个总的查询,select count 0 查总total,方便给前端进行计算有几页

然后他会根据pageSize查询几条放在一页里,这里都是没问题的但是前端请求响应就是 显示total0,泪目

由于之前没有学过pagehelper,直接使用的,所以好奇进去看看具体如何实现的

image-20241013184729250

这个分页拦截由于前面的sql是正常的,应该问题不在这,不过这里的用法就是

PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable);

传入页码,页值,然后后面的第一个mapper查询会被拦截,并且封装为一个page对象(重要)仅仅拦截该分页器的后一个select,下下个select视为普通的查询,不封装为page对象

image-20241013185114561

image-20241013185241474

image-20241013185350639

到这里恍然大悟,他将拦截后查询到的list列表封装为page原来在这里发挥作用了,判断该List(多态,方便再方法中传输,形参类型范围扩大)是否为 List 类的实现类型或其接口的实现类 Page类(se里的太久了记不太清了,基础有点差,感兴趣自行查询),是的话就向然后是的话就向下转型,访问子类的getTotal方法

image-20241013185608949

如果不是page对象,那就根据传递进去的List 大小设置total,

原来是我没用分页后的List(page实现了list的类)进行设置分页对象返回,而是用了加工后的普通List

image-20241013190409056

解决方法

image-20241013190443833

分页后的page(list)类直接生成total,然后将加工后的List,setRow进去

image-20241013190559053

game over!,搞了好久mmp,基础不牢,地动山摇啊!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/56345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QCY开放式耳机值得买吗?南卡、QCY、韶音开放式耳机最全测评!

​开放式耳机最近还挺火的&#xff0c;因为相对于传统的入耳式耳机来说&#xff0c;它佩戴起来更舒适&#xff0c;也更卫生&#xff0c;更加适配运动场景&#xff0c;现在不少的健身或者运动博主都选择了开放式耳机&#xff0c;那么作为一个同样喜欢跑步的数码博主&#xff0c;…

开源一个C缓存库

1 简介 在当下的视频点播应用场景下&#xff0c;端侧对视频缓存的需求可谓刚需&#xff0c;一方面可以为公司节省流量成本&#xff0c;一方面也可以提升用户的播放体验&#xff0c;有一石二鸟之效。 近期&#xff0c;本人用C写了一个缓存库&#xff0c;支持iOS/Android/harmony…

java项目之信息化在线教学平台的设计与实现(源码+文档)

项目简介 信息化在线教学平台的设计与实现实现了以下功能&#xff1a; 信息化在线教学平台的设计与实现的主要使用者管理员功能有个人中心&#xff0c;学生信息管理&#xff0c;教师信息管理&#xff0c;教学信息管理&#xff0c;学生成绩管理&#xff0c;留言板管理&#xf…

番外篇 | 史上最全的关于CV的一些经典注意力机制代码汇总

前言:Hello大家好,我是小哥谈。注意力是人类认知系统的核心部分,它允许我们在各种感官输入中筛选和专注于特定信息。这一能力帮助我们处理海量的信息,关注重要的事物,而不会被次要的事物淹没。受到人类认知系统的启发,计算机科学家开发了注意力机制,这种机制模仿人类的这…

vue开发环境、生产环境配置与nginx配置后端代理转发跨域

一、配置步骤 在Vue项目中,通常会在项目的环境配置文件中设置不同环境下的API接口地址。对于生产环境,你可以使用Nginx作为反向代理来处理后端地址的转发。 1.在Vue项目中的env文件夹下,找到env.production文件,并设置生产环境下的API接口地址: module.exports = {NODE…

《语音识别芯片选型全攻略》

《语音识别芯片选型全攻略》 一、语音识别芯片性能评估&#xff08;一&#xff09;主控芯片性能评估&#xff08;二&#xff09;接口需求分析&#xff08;三&#xff09;可靠性评估&#xff08;四&#xff09;生产工艺考量&#xff08;五&#xff09;湿敏等级判断 二、语音识别…

倍福TwinCAT程序中遇到的bug

文章目录 问题描述&#xff1a;TwinCAT嵌入式控制器CX5140在上电启动后&#xff0c;X001网口接网线通讯灯不亮&#xff0c;软件扫描不到硬件网口 解决方法&#xff1a;硬件断电重启后&#xff0c;X001网口恢复正常 问题描述&#xff1a;TwinCAT软件点击激活配置后&#xff0c;…

汽车免拆诊断案例 | 2022款大众捷达VS5车行驶中挡位偶尔会锁在D3挡

故障现象  一辆2022款大众捷达VS5汽车&#xff0c;搭载EA211发动机和手自一体变速器&#xff0c;累计行驶里程约为4.5万km。该车行驶中挡位偶尔会锁在D3挡&#xff0c;车速最高约50 km/h&#xff0c;且组合仪表上的发动机故障灯和EPC灯异常点亮。 故障诊断  用故障检测仪检…

【AI工具大集合】

在当今快速发展的人工智能领域&#xff0c;AI工具的种类繁多&#xff0c;它们在不同的行业和领域中发挥着重要作用。以下是一些常用的AI工具&#xff01; 一、AI实用工具 1. AI聊天机器人 Youchat&#xff1a;类似于搜索引擎的AI聊天机器人&#xff0c;能够实时从互联网获取信…

SQL语句查询

SQL语句查询 查询产生一个虚拟表 看到的是表形式显示的结果&#xff0c;但结果并不真正存储 每次执行查询只是从数据表中提取数据&#xff0c;并按照表的形式显示出来 查询语法 SELECT <列名> FROM <表名> [WHERE <查询条件表达式>] SELECT …

【python书籍-附电子版】Python入门零基础必看书籍,python编程入门教程指南,从入门到精通,这几本书太牛了!!

今天为大家推荐的“Python 编程三剑客”是新手小白学习编程的不二之选&#xff01;这三本书分别从不同的角度&#xff0c;对 Python 编程进行了详细的解析。 &#xff08;领取方式见文末&#xff09; 一《Python编程&#xff1a;从入门到实践》 第一本为你打下坚实的基础&am…

MongoDB聚合管道(Aggregation Pipeline)

聚合管道&#xff08;Aggregation Pipeline&#xff09;是MongoDB中用于对数据进行处理和分析的一种强大机制。它由一系列的阶段&#xff08;Stage&#xff09;组成&#xff0c;每个阶段对输入的数据进行一种特定的操作&#xff0c;然后将结果传递给下一个阶段&#xff0c;就像…

【VAE】 VQ-VAE: 离散潜在空间的艺术

大家好&#xff01;今天我们来聊聊一个有趣的深度学习模型&#xff1a;Vector Quantized Variational AutoEncoder&#xff08;VQ-VAE&#xff09;。这个模型看似复杂&#xff0c;实则蕴含着深刻的智慧。让我们一起来探索这个模型的奥秘吧&#xff01; 什么是 VQ-VAE&#xff…

详解安卓和IOS的唤起APP的机制,包括第三方平台的唤起方法比如微信

网页唤起APP是一种常见的跨平台交互方式&#xff0c;它允许用户从网页直接跳转到移动应用程序。 这种技术广泛应用于各种场景&#xff0c;比如让用户在浏览器中点击链接后直接打开某个应用&#xff0c;或者从网页引导用户下载安装应用。实现这一功能主要依赖于URL Scheme、Univ…

基于Java+SpringBoot+Vue的网上购物商城系统研发

基于JavaSpringBootVue的网上购物商城系统研发 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末附源码下载链接&#x1f345…

门店收银系统源码-php+flutter+uniapp

1. 系统开发语言 核心开发语言: PHP、HTML5、Dart 后台接口: PHP7.3 后台管理网站: HTML5vue2.0element-uicssjs 线下收银台&#xff08;安卓/PC收银、安卓自助收银&#xff09;: Dart3 框架&#xff1a;Flutter 3.19.6 移动店务助手: uniapp 线上商城: uniapp 2.线下收…

【Git】常用Git命令

1. Git 仓库的基本操作 git init&#xff1a;在当前目录下初始化一个新的 Git 仓库。git clone <repository>&#xff1a;从远程仓库克隆一个 Git 仓库到本地。git status&#xff1a;查看工作目录和暂存区的状态&#xff0c;显示哪些文件被修改或未跟踪。git add <f…

【虚拟化】内核级虚拟化技术KVM介绍,全/半虚拟化的区别,使用libvirt搭建虚拟化平台(go/java/c++)

【虚拟化】内核级虚拟化技术KVM介绍&#xff0c;全/半虚拟化的区别&#xff0c;使用libvirt搭建虚拟化平台&#xff08;go/java/c&#xff09; 文章目录 1、虚拟化技术分类与架构&#xff08;KVM&#xff0c;Xen&#xff09;&#xff0c;全/半虚拟化的区别2、libvirt介绍3、使用…

leetcode栈与队列(一)-有效的括号

题目 . - 力扣&#xff08;LeetCode&#xff09; 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的…

月度总结

破晓AI工作总结 2024-10-15 月度总结 1、每个人总结自己过去一段时间遇到的问题是如何思考并解决的 2、过去一段使用AI帮助自己更好的生活或者工作或任何点 3、总结可以是文档&#xff0c;也可以是脑图&#xff0c;也可以是PPT&#xff0c;格式不拘泥&#xff0c;但是两个总结…