mybatisplus 使用group by 和 count 报 java.lang.NumberFormatException

报错信息:

java.lang.NumberFormatException: For input string: "Critical" at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) ~[na:na]

resultMap如下: 

 

<resultMap id="severityNumResultMap" type="com.chinamobile.icmp.rest.model.agent.resp.event.EventNumResp"><result column="severity" property="severity" jdbcType="VARCHAR"/><result column="quantity" property="quantity" jdbcType="BIGINT"/>
</resultMap>

当使用下面sql时就会报上面的错误

<select id="querySeverityNum" resultMap="severityNumResultMap">
    select severity, count(*) as quantity  from (select severity from event_monitor where collect_time >= #{startTime}) group by severity
</select>

使用下面的SQL就可以正常返回

 <select id="querySeverityNum" resultMap="severityNumResultMap">
    select count(*) as quantity, severity from (select severity from event_monitor where collect_time >= #{startTime}) group by severity
</select>

 这条查询语句与第一条仅在列顺序上有所不同,先输出count(*) as quantity,再输出severity。同样,若severityNumResultMap映射关系设置正确,这条查询本身也不会直接导致NumberFormatException。
问题定位与解决方案:
考虑到您提到的错误信息,问题更可能出现在处理查询结果的业务逻辑中,而非查询语句本身。具体来说,可能存在如下情况:
业务逻辑代码: 您的业务代码可能在遍历查询结果时,误将severity列(字符串类型)当作数字进行处理。请检查处理查询结果的代码段,确保正确处理severity列作为字符串。
resultMap配置: 如果severityNumResultMap映射关系中对severity列定义为数字类型,而非字符串类型,也会导致在MyBatis解析结果时尝试进行非法的数值转换。请检查severityNumResultMap的定义,确保severity列映射为字符串类型。
第三方库或框架处理: 如果使用了其他库或框架来处理查询结果,它们可能有默认的类型转换行为。检查这些库或框架的配置和使用方式,确保它们不对severity列进行不必要的数值转换。
为解决此问题,建议您:
检查处理查询结果的业务逻辑代码,确保正确处理severity列作为字符串,避免对其进行数值转换。
验证severityNumResultMap映射关系,确认severity列映射为字符串类型。
排查可能影响结果处理的第三方库或框架,确保它们不对severity列进行错误的数值转换
修复以上潜在问题后,应该能解决NumberFormatException。如果问题仍然存在,请提供更多上下文信息(如处理查询结果的代码片段、severityNumResultMap的具体定义等),以便进一步诊断。

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

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

相关文章

前后端分离vue.js+nodejs新闻文章发布论坛网站系统44x94

Vue&#xff1a; Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。另一方面&#xff0c;当与现代化的工具链以及…

​代码混淆的原理是什么?常见代码混淆方法介绍

本文主要想你介绍代码混淆的原理&#xff0c;常见代码混淆方法&#xff0c;欢迎查阅~ 移动应用代码安全非常重要&#xff0c;代码逆向会导致代码逻辑被获取&#xff0c;进一步导致控制流被hook&#xff0c;安全防线被破&#xff0c;给APP安全带来巨大风险&#xff0c;因此开发者…

跟着Datawhale重学数据结构与算法

数据结构和算法之前学过&#xff0c;现在跟着Datawhale重学一下&#xff0c;就当是监督自己学习&#xff0c;重新拾起来养成一个好的习惯&#xff0c;以后可以一直坚持下去。 开源链接&#xff1a;【 教程地址 】【电子网站】 首先&#xff1a; #mermaid-svg-Cdr3rn9fGCVAiKS…

Redis消息队列-基于Stream的消息队列-消费者组

7.5 Redis消息队列-基于Stream的消息队列-消费者组 消费者组&#xff08;Consumer Group&#xff09;&#xff1a;将多个消费者划分到一个组中&#xff0c;监听同一个队列。具备下列特点&#xff1a; 创建消费者组&#xff1a; key&#xff1a;队列名称 groupName&#xff1a…

安装SSMS出现错误和SSMS连接数据库失败

1.点击图片下安装的时候&#xff0c;出现0x80070643错误 解决办法&#xff1a; 1,如果是是第一次安装的话&#xff0c;重新启动电脑&#xff0c;把原来下载的SSMS删除掉&#xff0c;在重新下载安装 2.如果是原来就下载过&#xff0c;先…

OpenBayes 在线教程|张国荣、鲁迅等老照片秒变高清!即刻上手的超火 SUPIR-AI 图像修复教程

小伙伴们&#xff0c;大家在生活中是不是也会遇到这样的烦恼&#xff1a;心心念念想要打印一张充满回忆的老照片或酷炫动漫壁纸&#xff0c;却发现图像糊得像打了马赛克&#xff1f; 市面上的图像修复工具五花八门&#xff0c;选择困难症人群找得快要崩溃&#xff1f; 终于找…

3.1 iHRM人力资源 - 组织架构、树形结构、添加子部门

iHRM人力资源 - 组织架构 文章目录 iHRM人力资源 - 组织架构一、展示数据-树形组件1.1 组件说明1.2 树组件自定义结构获取作用域数据1.2.1 说明1.2.2 页面代码1.2.3 获取组织架构数据-api 1.3 效果图1.4 修改树形结构bug 二、添加子部门2.1 表单弹层2.1.1 下拉菜单点击事件2.1.…

使用DGL实现一个异构图的例子

使用DGL实现一个异构图的例子 异构图 截图的地址&#xff1a; dgl 异构图 相比同构图&#xff0c;异构图里可以有不同类型的节点和边。这些不同类型的节点和边具有独立的ID空间和特征。 例如在下图中&#xff0c;”用户”和”游戏”节点的ID都是从0开始的&#xff0c;而且两种…

Appium Desktop + Appium Inspector + 模拟器连接

一、环境预备 1.你需要安装好配置好adb,确保可以在命令行直接运行adb指令 2.安装Appium Desktop、Appium Inspector 、 模拟器 二、启动appium 服务 启动后&#xff0c;画面如下&#xff1a; 三、启动模拟器 此时&#xff0c;启动模拟器&#xff0c;打开电脑cmd窗口&#x…

算法设计与分析实验报告c++实现(矩阵链相乘、投资问题、完全背包问题、数字三角形、最小生成树、背包问题)

一、实验目的 1&#xff0e;加深学生对分治法算法设计方法的基本思想、基本步骤、基本方法的理解与掌握&#xff1b; 2&#xff0e;提高学生利用课堂所学知识解决实际问题的能力&#xff1b; 3&#xff0e;提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 用动态…

[RK3399 Linux] 使用busybox 1.36.1制作rootfs

一、 编译、安装、配置 busybox 1.1 下载源码 根文件系统是根据busybox来制作的。 下载地址:https://busybox.net/downloads/。 这里就以1.36.1版本为例进行编译安装介绍: 注意:编译linux内核与文件系统中的所有程序要使用相同的交叉编译器。 下载完成后解压: mkdir …

java(网络编程)

什么是网络编程? 在网络通信协议下&#xff0c;不同计算机上运行的程序&#xff0c;进行的数据传输。 应用场景&#xff1a;即时通信、网游对战、金融证券、国际贸易、邮件、等等 不管是什么场景&#xff0c;都是计算机跟计算机之间通过网络进行数据传输 Java中可以使用ja…

vue3: 报错ResizeObserver loop completed with undelivered notifications.解决方法

错误提示&#xff1a; 组件重新绘制大小时dev环境出现报错提示&#xff0c;如在VUE3中使用ant-design-vue表格自适应窗口大小时webpack会报错。 常用解决方案有重写ResizeObserver或者时间间隔内限制执行方式&#xff0c;可以设置屏蔽方式跳过提示。 解决办法&#xff1a; 修…

汽车车灯用肖特基二极管,选什么型号好?

肖特基二极管种类繁多&#xff0c;有低压降肖特基二极管、通用型肖特基二极管、快速恢复型肖特基二极管、高功率肖特基二极管、汽车级肖特基二极管等等&#xff0c;其中低压降肖特基二极管和汽车级肖特基二极管是二极管厂家东沃电子的核心优势产品。关于东沃电子推出的低压降肖…

移动硬盘无法打开?别慌!这里有救星!

移动硬盘作为现代生活中重要的数据存储工具&#xff0c;承载着我们大量的文件和数据。然而&#xff0c;有时我们会遇到移动硬盘无法打开的情况&#xff0c;这往往让人焦虑不已。那么&#xff0c;当移动硬盘无法打开时&#xff0c;我们应该如何应对呢&#xff1f; 移动硬盘无法打…

量子城域网系列(五):几种典型的量子密钥分发网络组网结构

在上之前文章中&#xff0c;我们介绍了最基本的点对点量子保密通信网络形式以及组网方案&#xff0c;但是显然在实际的应用中&#xff0c;点对点的通信是比较少的&#xff0c;大多还是需要多个终端进行互联才能构成网络。本文我们就讨论一下几种基础的量子密钥分发网络组网结构…

软件测试---性能测试

1.常见的性能问题有哪些 如图所示 系统内部以及软件的代码实现 1&#xff0c;资源泄漏&#xff0c;包括内存泄漏。 2&#xff0c;CPU使用率达到100%&#xff0c;系统被锁定等。 3&#xff0c;线程死锁&#xff0c;阻塞等造成系统越来越慢。 4&#xff0c;查询速度慢&#xff0c…

算法练习第17天|104.二叉树的最大深度 、559.N叉树的最大深度

104.二叉树的最大深度 104. 二叉树的最大深度 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/maximum-depth-of-binary-tree/description/ 什么是二叉树的深度和高度&#xff1f; 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。最大深度…

C语言复习1

1.stdint.h C99库的作用是统一类型别名&#xff0c;例如要定义一个有符号的整数类型&#xff0c;即输入int32_t。 2.位操作 3.宏定义 格式&#xff1a;define 标识符 字符串 标识符&#xff1a;宏定义的名字 字符串&#xff1a;常数&#xff0c;表达式&#xff0c;格式串等 …

入侵检测数据预处理 特征工程 面临的问题

数据预处理 对于分类任务来说,由于原始数据可能存在异常、缺失值以及不同特征的取值范围差 异大等问题,对机器学习会产生影响,因此,在进行机器学习模型训练之前,需要先对数据 进行预处理。数据预处理的主要过程包括数据清洗、去量纲、离散化等。 1.数据清洗 对采集到的数据进行…