今天在工作中,碰到在MyBatis的Mapping中看到了jdbc这个参数,瞬间懵逼,于是百度了下。
Mybatis中的jdbcType的作用
使用MyBatis框架做更新操作时,在该字段需要更新的内容为空时,就会出现1111错误,也就是无效的列类型,这个时候你就要使用jdbcType。至于什么时候要使用到javaType我还没遇到过,而且我也没有听说过要使用javaType。
前天遇到一个问题 异常显示如下:
引用
Exception in thread "main" org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #6 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 无效的列类型: 1111
; uncategorized SQLException for SQL []; SQL state [99999]; error code [17004]; 无效的列类型: 1111; nested exception is java.sql.SQLException: 无效的列类型: 1111 所以说jdbcType这个参数的应用场景就是,当执行mapping文件的时候,有个映射的参数为空,那么无法确定他的类型,这个时候就需要jdbcType来确定类型。
另外在搜索jdbctype的时候,发现了一个新的参数javatype,猜测是在参数里定义了泛型之后,如果这个泛型最后没有确定类型,那么也会报错,要在mapping文件里 给这个泛型定义类型。javatype没有见过,所以暂时没有过多去研究。
jdbctype的例子
这里需要说明的是不同的类型,jdbctype是不同的。
本文详细介绍了在使用MyBatis框架时遇到的关于jdbcType的问题及其应用场景。当执行映射文件时某个参数为空导致无法确定其类型,通过设置jdbcType可以解决此问题。此外还提到了javaType参数,但未深入探讨。

2374

被折叠的 条评论
为什么被折叠?



