无效的列类型

【错误笔记】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}

建议:

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

SQLException: 无效的列类型:
1111, 问题描述: org.springframework.jdbc.UncategorizedSQLException:
Error setting null for parameter #1 with Jdb…

问题描述:

  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上面,如果这参数是必填的,则会因为类型不一致跑出错误。

发表评论

电子邮件地址不会被公开。 必填项已用*标注