【错误笔记】MyBatis SQLException: 无效的列类型: 1111
问题描述:
org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 无效的列类型: 1111
问题分析:
出现此问题的原因是我们在xml文件中编写SQL时,没有指定参数类型,当我们传递了一个null类型的值进去,程序无法根据入参类型进行自动匹配,只能匹配到OTHER上面,如果这参数是必填的,则会因为类型不一致跑出错误。
解决办法:
加上类型即可 ,例如jdbcType=VARCHAR ,jdbcType=NUMERIC ......,修改入参代码 :#{param,jdbcType=具体制定的类型},而不是 #{param}
建议:
最好都显示指定参数类型,养成一个好的编码习惯,避免不必要的异常出现。
☺☺☺爱学习的逗比☺☺☺
分类:
MyBatis/iBatis
标签:
MyBatis
, SQLException
posted on 2017-11-10 17:04 funnyboy0128 阅读(7852) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南