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

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

《语音识别芯片选型全攻略》 一、语音识别芯片性能评估&#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灯异常点亮。 故障诊断  用故障检测仪检…

SQL语句查询

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

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

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

详解安卓和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.线下收…

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

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

同行评审流程详解

同行评审流程中&#xff0c;稿件被拒很正常&#xff0c;可能是由于稿件结构有问题&#xff0c;论据不足&#xff0c;表达不准确等诸多因素&#xff0c;接下来带你走一遍同行评审流程&#xff0c;看论文投稿过程中有哪些拦路虎&#xff0c;掌握拒稿因素&#xff0c;论文投稿才能…

C++类和对象——第四关通关

阅读本文章前建议先阅读博主C专栏的前几篇文文章&#xff0c;以便更好的理解本文章。 目录 &#xff08;1&#xff09;构造函数续 初始化列表&#xff1a; &#xff08;2&#xff09;类类型转换&#xff1a; &#xff08;3&#xff09;staic成员 &#xff08;4&#xff0…

在英伟达NIM中测试OCDRNET

OCDRNET结合了OCR和OCD模型的相关内容&#xff0c; 一、OCRNet 模型概述 1.该模型的作用是从灰度图像中识别字符。OCRNet的基础架构是ResNet50&#xff0c;模型版本有&#xff1a; trainable_v1.0 - Pre-trained model with ResNet backbone on scene text.deployable_v1.0 …

使用 three.js和 shader 实现一个五星红旗 飘扬得着色器

使用 three.js和 shader 实现一个五星红旗 飘扬得着色器 源链接&#xff1a;https://threehub.cn/#/codeMirror?navigationThreeJS&classifyshader&idchinaFlag 国内站点预览&#xff1a;http://threehub.cn github地址: https://github.com/z2586300277/three-ce…

centos系列图形化 VNC server配置,及VNC viewer连接,2024年亲测有效

centos系列图形化 VNC server配置&#xff0c;及VNC viewer连接 0.VNC服务介绍 VNC英文全称为Virtual Network Computing&#xff0c;可以位操作系统提供图形接口连接方式&#xff0c;简单的来说就是一款桌面共享应用&#xff0c;类似于qq的远程连接。该服务是基于C/S模型的。…

Ubuntu QT 交叉编译环境搭建

文章目录 下载安装qtCreatornot a valid identifier 的错误 安装g下载并安装交叉编译器下载交叉编译器安装交叉编译器 下载编译 ARM 的Qt平台源码配置arm的QT平台 下载安装qtCreator 去QT下载官网下载对应需要的QT软件。 这里下载5.12.96版本的 改变安装包权限&#xff0c;…

cocos中Sprite的填充模式

做进度条效果会用到Sprite的填充模式: cocoscreator教程&#xff1a;制作进度条_哔哩哔哩_bilibili