mybatis 出错:java.lang.NumberFormatException: For input string: “A“

news2024/9/28 1:25:21
@GetMapping("/generateOldCarModelRanking")
@ApiOperation("老旧车车型排名")
public Result generateOldCarModelRanking(@RequestParam(value = "year")String year,@RequestParam(value = "isCommercial")boolean isCommercial ,@RequestParam(value = "fuelType")String fuelType,@RequestParam(value = "pageNum")int pageNum,@RequestParam(value = "pageSize")int pageSize){
        log.info("老旧车车型排名,isCommercial:{},fuelType:{},pageNum:{},pageSize:{}",isCommercial,fuelType,pageNum,pageSize);
        return vehicleBaseInfoService.generateOldCarModelRanking(year,isCommercial,fuelType,pageNum,pageSize);
}

这是我的接口,注意参数

fuelType 是String类型的

我来测试接口:

然后看见idea报错:

Error querying database.  Cause: java.lang.NumberFormatException: For input string: "A"
Cause: java.lang.NumberFormatException: For input string: "A"

看看我的sql,其中有一句

<if test="fuelType != null and fuelType != ''">
      and vbi.FUEL_TYPE = #{fuelType}
     <if test="fuelType == 'A' and year != null and year != ''">
         and TIMESTAMPDIFF(YEAR,vbi.REGISTER_DATE,'${year}-12-31')+1 &gt; 8
     </if>
     <if test="fuelType == 'B' and year != null and year != ''">
         and TIMESTAMPDIFF(YEAR,vbi.REGISTER_DATE,'${year}-12-31')+1 &gt; 5
     </if>
</if>

 错误原因

我将String类型的fuelType和Char类型的'A'进行了比较。mybatis认为拿一个字符串(String)和一个字符(char)比较,也会报错

解决办法

转成字符串:'A'.toString()

<if test="fuelType != null and fuelType != ''">
    and vbi.FUEL_TYPE = #{fuelType}
    <if test="fuelType == 'A'.toString() and year != null and year != ''">
        and TIMESTAMPDIFF(YEAR,vbi.REGISTER_DATE,'${year}-12-31')+1 &gt; 8
    </if>
    <if test="fuelType == 'B'.toString() and year != null and year != ''">
        and TIMESTAMPDIFF(YEAR,vbi.REGISTER_DATE,'${year}-12-31')+1 &gt; 5
    </if>
</if>

参考:java - mybatis参数格式化异常:NumberFormatException: For input string:"xx" - 呆萌的程序猿 - SegmentFault 思否

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

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

相关文章

FineBI与FineReport的区别

在企业信息化的浪潮中&#xff0c;数据分析和报表工具的需求日益增加。FineBI与FineReport是帆软公司旗下两款常见的数据分析和报表工具&#xff0c;它们各自有着不同的特点和应用场景。本文将从功能、适用场景和用户体验等方面分析FineBI与FineReport的区别。 一、功能对比…

【漏洞复现】蜂信物联 FastBee 开源物联网平台 download 任意文件读取漏洞

【漏洞复现】蜂信物联 FastBee 开源物联网平台 download 任意文件读取漏洞、 01 漏洞描述 蜂信物联 FastBee 开源物联网平台 download 接口存在任意文件读取漏洞&#xff0c;未经身份验证攻击者可通过该漏洞读取系统重要文件&#xff08;如数据库配置文件、系统配置文件&…

python中.之后的圈c、圈v分别代表什么意思?

python中.之后的圈c、圈v分别代表什么意思&#xff1f; Python中&#xff0c;.之后的圈c表示类的实例方法&#xff0c;而圈v表示类的成员变量。 在面向对象编程中&#xff0c;类是一种抽象的数据类型&#xff0c;实例方法是定义在类中的函数&#xff0c;用于操作类的实例变量…

C++11新增特性:列表初始化(std::initializer_list) decltype、auto、nullptr、范围for

C11新增特性&#xff1a;列表初始化&#xff08;std::initializer_list&#xff09;& decltype、auto、nullptr、范围for 一、C11新增统一初始化方式1.1 新增方式1.2 初始化容器底层原理&#xff08;std::initializer_list&#xff09; 二、新增声明2.1 decltype2.3 auto &…

零基础 Tomcat 环境搭建(图解)

目录 介绍 下载 安装 环境配置 启动服务 无法正常启动的可以去更改端口号 显示乱码的可以去更改为BGK 正常启动 ​编辑 浏览器URL测试 关闭服务 静态项目测试 创建部署 创建任意文件夹 编写测试内容 浏览器URL测试 介绍 Tomcat是Apache 软件基金会&#xff08…

如何整理自己的电脑桌面?桌面整理怎么设置更高效?一文详细解答

在数字化时代&#xff0c;电脑已成为我们日常生活和工作中不可或缺的工具。然而&#xff0c;随着时间的推移&#xff0c;电脑桌面上往往会堆积起各种文件、快捷方式、文件夹&#xff0c;使得原本整洁的桌面变得杂乱无章。这不仅影响了我们的工作效率&#xff0c;还可能对心情造…

骨传导耳机哪个牌子最好?硬核测评五大热门王牌骨传导耳机!

在当今快节奏的生活中&#xff0c;音乐和音频内容已成为许多人日常生活中不可或缺的一部分。无论是在健身房锻炼、户外跑步&#xff0c;还是在办公室工作&#xff0c;一款优质的耳机都能提供沉浸式的听觉体验&#xff0c;同时确保安全和舒适。骨传导耳机&#xff0c;作为一种创…

深入学习电路基础:从理论到实践

引言 电路是电子学的核心&#xff0c;也是现代科技的基石。从简单的灯泡开关到复杂的计算机处理器&#xff0c;电路在各类电子设备中都起到了至关重要的作用。深入学习电路知识不仅有助于理解电子设备的工作原理&#xff0c;还能够为实际设计和开发电子产品打下坚实的基础。 …

JVM下篇:性能监控与调优篇-02-JVM监控及诊断工具-命令行篇

文章目录 2. JVM 监控及诊断工具-命令行篇2.1. 概述2.2. jps&#xff1a;查看正在运行的 Java 进程2.3. jstat&#xff1a;查看 JVM 统计信息2.4. jinfo&#xff1a;实时查看和修改 JVM 配置参数2.5. jmap&#xff1a;导出内存映像文件&内存使用情况2.6. jhat&#xff1a;J…

将弹性 IP 地址绑定到 EC2 实例

在本文中&#xff0c;九河云将带你了解如何将弹性 IP 地址绑定到 Amazon Elastic Compute Cloud (EC2) 实例。绑定弹性 IP 可以为您的实例提供一个固定的公共 IP 地址&#xff0c;有助于保持外部访问的稳定性。 准备工作 在开始之前&#xff0c;请确保您已完成以下准备工作&a…

Context-Aware Depth and Pose Estimation for Bronchoscopic Navigation翻译

文章目录 摘要1.引言2. 相关工作3. 方法概述3.1. 基于CT数据的虚拟深度生成3.2. 基于视频帧的上下文感知深度估计3.3. 方法概述3.3.1. 从CT数据生成虚拟深度图3.3.2. 基于上下文感知的深度估计从视频帧中3.3.3. 相机姿态估计通过 2D/3D 配准 4. 实验4.1. 数据集和基线4.2. 实现…

【无标题】【Datawhale X 李宏毅苹果书 AI夏令营】批量归一化

1、批量归一化的作用 批量归一化&#xff08;Batch Normalization&#xff0c;BN&#xff09;的把误差曲面变得平滑&#xff0c;使训练能够得到快速收敛&#xff1b; 训练过程的优化&#xff1a;使用自适应学习率等比较进阶的优化训练方法&#xff1b; 训练对象的优化&#xf…

基于协同过滤算法商品推荐系统设计与实现

协同过滤算法商品推荐系统设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装协同过滤算法商品推荐…

v-bind后面不加属性和v-bind的动态属性

v-bind 平常常见的用法我们应该都知道&#xff0c;说一说 v-bind 的不常用的方式&#xff0c;第一个就是 v-bind 后面直接不添加任何属性&#xff0c;此时会将一个对象的所有 property 都作为 prop 传入 先看官网的说法案例&#xff1a; 父组件&#xff1a; <templat…

海外合规|新加坡网络安全认证计划简介(二)-Cyber Essentials

一、 认证简介&#xff1a; Cyber Essentials 标志是针对开始网络安全之旅的组织的网络安全认证。它针对的是中小企业 (SME) 等组织。一些中小企业的 IT 和/或网络安全专业知识和资源有限&#xff1b;Cyber Essentials 标志旨在使他们能够优先考虑必要的网络安全措施&#xff…

C++ | Leetcode C++题解之第390题消除游戏

题目&#xff1a; 题解&#xff1a; class Solution { public:int lastRemaining(int n) {int a1 1;int k 0, cnt n, step 1;while (cnt > 1) {if (k % 2 0) { // 正向a1 a1 step;} else { // 反向a1 (cnt % 2 0) ? a1 : a1 step;}k;cnt cnt >> 1;step …

如何将pdf文档翻译英语?4招教会你

在全球化的商业环境中&#xff0c;与海外客户沟通是常态。 当你需要将pdf文档翻译成英语时&#xff0c;会怎么做呢&#xff1f;是上网查找翻译工具还是求助同事完成翻译任务&#xff1f; 其实我有更好的解决办法&#xff0c;可以通过一些免费且实用的技巧&#xff0c;可以帮助…

安卓13删除app 链接库警告弹窗Detected problems with app native

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码修改彩蛋1.前言 有些客户的APP,打开首次会弹窗提示窗口, Detected problems with app native libraries (please consult log for detail):,需要删除这个窗口,避免挡住用户APP。而且这个提示有些app是以t…

上海亚商投顾:深成指、创业板指均涨超1%,华为产业链反复活跃

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 大小指数昨日走势分化&#xff0c;沪指全天震荡调整&#xff0c;2800点失而复得&#xff0c;深成指、创业板指…

如何用W外链创建一个永久不变的活码?

"W外链"这个术语不是一个标准的技术术语&#xff0c;因此我假设你可能是指的是“外链”或者“网址链接”的活码。活码的优势在于它可以提供一个永久不变的二维码&#xff0c;而背后的链接或内容可以灵活地进行更新和修改。以下是创建活码的一般步骤和优势&#xff1a…