SpringBoot分页查询报错Bug

news2024/12/24 9:15:56

项目场景:

提示:这里简述项目相关背景:

使用pageHepler分页查询报错信息为

class java.util.ArrayList cannot be cast to class com.github.pagehelper.Page

问题描述

提示:这里描述项目中遇到的问题:

实现条件分页查询的时候

@Override
  public PageResult<Article> list(
      Integer pageNum, Integer pageSize, String categoryId, String status) {
    // 1. 创建PageResult对象
    PageResult<Article> pageResult = new PageResult<>();
    // 2. 开启pageHelper分页查询


    // 3.设置当前页码
    Map<String, Object> map = ThreadLocalUtil.get();
    Integer userId = (Integer) map.get("id");
    // 4. 执行查询
    //  class java.util.ArrayList cannot be cast to class com.github.pagehelper.Page
    PageHelper.startPage(pageNum, pageSize);
    List<Article> articles = articleMapper.list(categoryId, status, userId);
    Page<Article> page = (Page<Article>) articles;
    // 5. 设置总记录数
    pageResult.setTotal(page.getTotal());
    // 6. 设置当前页数据
    pageResult.setRecords(page.getResult());
    // 7. 返回结果
    return pageResult;

原因分析:

提示:这里填写问题的分析:

网上的解决办法
例如: 发送消息有两种方式,分别是 和 ,其中  方式当数据量过大时,由于  大小也有限,所以当  处理不及时时,会造成先传的数据被覆盖,进而导致数据丢失。
但是这些都没法解决,所以这个问题还是存在的……


解决方案:

提示:这里填写该问题的具体解决方案:

使用pageInfo封装

@Override
  public PageResult<Article> list(
      Integer pageNum, Integer pageSize, String categoryId, String state) {

    // 1. 开启pageHelper分页查询
    PageHelper.startPage(pageNum, pageSize);
    // 2. 执行mapper查询
    Map<String, Object> map = ThreadLocalUtil.get();
    Integer userId = (Integer) map.get("id");
    List<Article> articles = articleMapper.list(categoryId, state, userId);
    // 使用pageInfo包装查询结果,获取分页信息
    PageInfo<Article> page = new PageInfo<>(articles);
    // 3. 返回结果
    return new PageResult<>(page.getTotal(), page.getList());
  }

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

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

相关文章

树莓派变小路由器放出热点wifi

环境 树莓派4Bubuntu20 作用 树莓派放出wifi后&#xff0c;笔记本电脑连接树莓派的wifi&#xff0c;并且ip配置在一个网段&#xff0c;就可以互相通信&#xff08;笔记本放出wifi&#xff0c;树莓派连接效果一样&#xff09;&#xff0c;这样的好处是树莓派只要一上电就会自…

标准I/O库-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板

标准I/O库 1、标准I/O库简介 什么是标准I/O库 标准C库当中用于文件I/O操作相关的一套库函数&#xff0c;使用标准I/O需要包含头文件 标准I/O和文件I/O之间的区别 标准I/O是库函数&#xff0c;而文件I/O是系统调用 标准I/O是对文件I/O的封装 可移植性&#xff1a;标准I/O相…

如何在Ubuntu 24.04或23.04中加密主文件夹

最新版本的 Ubuntu 强制加密整个磁盘&#xff0c;而不仅仅是一个分区&#xff0c;这意味着双系统用户无法完全加密他们的 Ubuntu 机器&#xff0c;因此加密你的Home 文件夹是最佳选择。 对于不熟悉磁盘加密的人来说&#xff0c;这是一种通过加密来保护 Ubuntu 文件的方法。这个…

Java基于Spring Boot框架的校园外卖服务系统设计与实现(附源码,说明文档)

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

集成学习案例-幸福感预测

集成学习案例一 &#xff08;幸福感预测&#xff09; 背景介绍 此案例是一个数据挖掘类型的比赛——幸福感预测的baseline。比赛的数据使用的是官方的《中国综合社会调查&#xff08;CGSS&#xff09;》文件中的调查结果中的数据&#xff0c;其共包含有139个维度的特征&#xf…

HSL和RGB 互转的 原理 分析

定义 HSL即色相、饱和度、亮度&#xff08;英语&#xff1a;Hue, Saturation, Lightness&#xff09;。 色相&#xff08;H&#xff09;是色彩的基本属性&#xff0c;就是平常所说的颜色名称&#xff0c;如红色、黄色等。可以说和光谱对应。取值为0-360度。 …

java语言数据结构(单链表)

前言 不得承认java应用的广泛&#xff0c;所以毅然决定java版本的数据结构和算法专题还是要坚决更新。每日更新2题&#xff0c;希望学习的小伙伴可以关注一波跟上&#xff0c;评论区欢迎讨论交流。 实现原理 节点&#xff08;Node&#xff09;&#xff1a;链表的基本构建单元…

Qt | QLineEdit 类(行编辑器)

01、上节回顾 Qt | QComboBox(组合框)02、QLineEdit 1、QLineEdit 类是 QWidget 类的直接子类,该类实现了一个单行的 输入部件,即行编辑器,见右图 2、验证器(QValidator 类)和输入掩码简介:主要作用是验证用户输入的字符是否符合验证器 的要求,即限制对用户的输入,比…

Windows环境编译MediaInfo源码详细过程

MediaInfo介绍 MediaInfo是一个自由开源的软件&#xff0c;它提供了一种方法来显示多媒体文件的详细信息&#xff0c;包括视频、音频和图像文件。 以下是关于MediaInfo的一些主要介绍&#xff1a; 功能&#xff1a;MediaInfo可以显示文件的格式、编码信息、长度、比特率、帧率…

Tomcat添加服务以及设置开机自启

下载地址连接 Index of /dist/tomcat&#x1f453; 注意点&#xff1a;不要出现中文路径 #环境变量 CATALINA_HOMED:\apache-tomcat-7.0.62 TOMCAT_HOMED:\apache-tomcat-7.0.62 JAVA_HOMED:\tool\jdk1.8.0_111 PATH%CATALINA_HOME%\bin;%CATALINA_HOME%\lib;%CATALINA_HOME%\…

如何使用Vite快速构建vue项目

1、在自己定义的目录下打开cmd命令窗口&#xff1a;如文件夹目录上面输入cmd回车就可以打开 2、检查 node环境&#xff1a;通过node --version看版本号表示安装好了 3、 使用Vite 快速构建Vue项目 npm init vitelatest qiuqiu.admin 注意&#xff1a;如何你电脑没有装vite首…

C/C++常用的内置的宏定义

常用的C/C 内置宏 这是我在VS2015下运行的 cout << "file " << __FILE__ << endl;cout << "line " << __LINE__ << endl;cout << "date " << __DATE__ << endl;cout << "…

[公开课学习]台大李宏毅-自注意力机制 Transformer

自注意力机制 存在一些问题&#xff0c;将vector set/sequence作为input&#xff0c;例如&#xff1a; 文字处理&#xff1a;将文字用one-hot表示&#xff0c;或者向量空间的向量表示&#xff0c;然后进行翻译任务等语音处理&#xff1a;25ms音频作为一个向量&#xff0c;10m…

开源离线AI笔记应用

前言 Reor 是一款人工智能驱动的桌面笔记应用程序&#xff0c;它能自动链接相关笔记、回答笔记中的问题并提供语义搜索。所有内容都存储在本地&#xff0c;支持 Windows、Linux 和 MacOS。Reor 站在 Ollama、Transformers.js 和 LanceDB 等巨头的肩膀上&#xff0c;使 LLM 和嵌…

C# WCF服务(由于内部错误,服务器无法处理该请求。)

由于内部错误&#xff0c;服务器无法处理该请求。有关该错误的详细信息&#xff0c;请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端&#xff0c;或打开对每个 Microsoft .NET …

vue3创建响应式数据ref和reactive的区别

reactive和ref在Vue.js中都是用于创建响应式数据的&#xff0c;但它们之间存在一些区别 定义数据类型不同。ref主要用于定义基本数据类型&#xff0c;如字符串、数字、布尔值等&#xff1b;reactive主要用于定义对象&#xff08;或数组&#xff09;类型的数据&#xff0c;但re…

基于单片机的小型自动浇灌系统设计

摘 要:以单片机为主控芯片,结合传感器和计算机,搭建了一套智能化的浇灌系统;利用LabVIEW 设计并编写了基于状态机程序架构的上位机软件,实现了友好的用户交互界面,实时测量、显示与记录等功能,并由主控芯片进行浇灌。经测试,本系统具有结构简单,研制成本低,运…

STM32学习计划

前言&#xff1a; 这里先记录下STM32的学习计划。 2024/05/08 今天我正在学习的是正点原子的I.MX6ULL APLHA/Mini 开发板的 Linux 之ARM裸机第二期开发的视频教程&#xff0c;会用正点原子的I.MX6ULL开发板学习第二期ARM裸机开发的教程&#xff0c;然后是学习完正点原子的I.M…

别出心裁的自动化网页数据采集:Chrome插件和mitmproxy

别出心裁的自动化网页数据采集&#xff1a;Chrome插件和mitmproxy 前言 在信息时代&#xff0c;数据已成为决策的关键。传统的数据采集方法往往依赖于手动操作或简单的自动化脚本&#xff0c;这限制了数据的时效性和精确性。为了克服这些限制&#xff0c;本文介绍了一种结合C…

基于docker安装flink

文章目录 环境准备Flinkdocker-compose方式二进制部署 KafkaMysql Flink 执行 SQL命令进入SQL客户端CLI执行SQL查询表格模式变更日志模式Tableau模式窗口计算 窗口计算滚动窗口demo滑动窗口 踩坑 环境准备 Flink docker-compose方式 version: "3" services:jobman…