错误笔记MyBatis SQLException: 无效的列类型: 1111
Posted funnyboy0128
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误笔记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 SQLException: 无效的列类型: 1111的主要内容,如果未能解决你的问题,请参考以下文章
Mybatis java.lang.IllegalArgumentException: uncategorized SQLException for SQL []; SQL state [null]
mybatis搭Mysql java.sql.SQLException
mybatis配置,idea报错:java.sql.SQLException: No suitable driver found for jdbc://localhost:3306/mybatis_t
IDEA_MyBatis_SQLException:Parameter index out of range坑
MyBatis Cause: java.sql.SQLException: Operand should contain 1 column(s) 异常处理