错误笔记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) 异常处理

使用 Mybatis 将布尔参数传递给存储过程