【错误笔记】MyBatis SQLException: 无效的列类型: 1111

时间:2022-03-03 07:03:25

问题描述:

  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}

建议:

  最好都显示指定参数类型,养成一个好的编码习惯,避免不必要的异常出现。