【实战场景】PageHelper分页插件,total总数不一致问题

news/2024/12/4 7:41:48/

【实战场景】PageHelper分页插件,total总数不一致问题

  • 一.报错背景
  • 二.错误剖析
  • 三.解决方案
      • 1、方案一
      • 2、方案二
    • 我是杰叔叔,一名沪漂的码农,下期再会!

一.报错背景

在使用mybatisPlus查询某个渠道下面的订单列表,然后使用pageHelper进行分页辅助,发现最终response中的total的总数和实际数据库的不一致

二.错误剖析

在这里插入图片描述

我代码里面通过mapper查询出来的List结果集,和我返回给前端的List结果集是两个不同的,按照PageHelper分页的原理,它缓存的是第一次SQL查询的结果集,而如果后面对第一次查出的结果集有二次处理,那么PageHelper就无法获取到实际的total数量。

三.解决方案

既然问题找到了,那就是要如何解决啦???下面看下如何解决这个问题。
在这里插入图片描述

1、方案一

最终的解决方案,就是通过获取到PageInfo对象,然后手动的将total总记录数量设置到要返回的数据里面

2、方案二

直接返回mapper查询出来的list对象,用pageInfo对象直接包裹,如果有后续的业务逻辑的处理,可以foreach这个list对象,逐条处理即可,

至此,这个问题就已经完美修复了

在这里插入图片描述

我是杰叔叔,一名沪漂的码农,下期再会!


http://www.ppmy.cn/news/1552214.html

相关文章

Linux下,用ufw实现端口关闭、流量控制(二)

本文是 网安小白的端口关闭实践 的续篇。 海量报文,一手掌握,你值得拥有,让我们开始吧~ ufw 与 iptables的关系 理论介绍: ufw(Uncomplicated Firewall)是一个基于iptables的前端工具&#xf…

子模块、Fork、NPM 包与脚手架概述

子模块 在 Git 仓库中嵌套另一个仓库,通过引用的方式引入到主项目,版本管理依赖 Git 提交记录或分支,更新需手动拉取并提交,适用于共享代码并保持项目独立性。 优点:子模块支持直接查看和修改,保持子模块…

vue elementui layout布局组件实现规则的弹性布局

背景:遇到在一个容器里,采用弹性盒布局的时候,如果元素个数改变,元素的排列会错乱。 解决方式 方式一:之前遇到的时候,是采用计算元素个数的方式,采用透明元素补齐的方式(比如一个有…

《网络攻防实践》实践五报告

1.实践内容 防火墙 (1)基本概念 所谓“防火墙”是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种建立在现代通信网络技术和信息安全技术基础上的应用性安全技术,隔离技术。越来…

SQL高级应用——索引与视图

数据库优化离不开索引和视图的合理使用。索引用于加速查询性能,而视图则在逻辑层简化了查询逻辑,提高了可维护性。本文将从以下几个方面详细探讨索引与视图的概念、应用场景、优化技巧以及最新的技术发展: 1. 索引类型与应用场景 索引是数据…

Navicat连接SQL Server

Navicat连接SQL Server 安装自带的SQL Server客户端 去到Navicat安装目录,找到安装程序,安装即可。 安装对应版本的Microsoft ODBC Driver for SQL Server 打开Navicat输入对应的SQL Server相关信息 然后点测试连接,提示连接成功。

Apache Airflow 快速入门教程

Apache Airflow已经成为Python生态系统中管道编排的事实上的库。与类似的解决方案相反,由于它的简单性和可扩展性,它已经获得了普及。在本文中,我将尝试概述它的主要概念,并让您清楚地了解何时以及如何使用它。 Airflow应用场景 …

【WRF-Urban】城市冠层参数UCPs导入WPS/WRF中

城市冠层参数UCPs导入WPS/WRF中 Urban canopy parameters ingestion into WPS/ WRF关于建筑高度分布的分组数量GEOGRID.TBL 文件的配置是否需要修改 Registry 文件其他建议 参考 本博客主要总结WRF&MPAS-Aforum中有关城市冠层参数UCPs导入WPS/WRF的相关内容。原文章地址-Ur…