您的位置:首页 > 其它

MyBatis的jdbcType的作用

2017-10-24 17:25 323 查看
今天在工作中,碰到在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是不同的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: