ERROR-java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1)

原文链接:ERROR-java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1) – 每天进步一点点 (longkui.site)

0.背景

mybatis 执行insert语句的时候,报上面的错,找了很长时间才发现错误。把问题和解决办法写下来,供大家参考。

1.问题及解决办法

主要是两个方面的问题,

第一个是在xml文件中出现了注释,也就是下面这样子。

select *from
-- 这是一条注释
student
/* 这是一条注释 */

出现了上面这样的注释,尽量把这些注释删除掉。

经实测,有的 注释 并不会报这个错,有的注释会报这个错(删除后正常)。

第二个方面,xml 文件错误,主要原因有关参数、占位符、引号之类的错误,举几例子。

insert into index_transfer_save(id,org_id, project_id, region_code, time, company_name, countNum, type, project_name)
values (#{id}, (SELECT id FROM xxxx WHERE code= #(regionCode)), #{projectId}, #{regionCode}, #{time}, #{companyName}, #{countnum}, #{type}, #{projectName})

上面代码有一段是

SELECT id FROM xxxx WHERE code= #(regionCode)

单独拎出来可以看到明显的错误, #{regionCode} 写成了 #(regionCode)。但是一开始放在sql语句里没有看出。

所以,请仔细检查sql语句。

posted on   longkui  阅读(330)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示