mybatis操作oracle,插入null值时报错 with jdbctype OTHER
在使用Mybatis 3.4.1 时,在对oracle进行添加操作时,如果有一个字段为空值时,则会报异常,而换成mysql则不会出现异常。
insert into emp(ID,NAME,GENDER,EMAIL)
values(#{id},#{name},#{gender},#{email)
在mybatis官方文档中:settings中有这么一个属性:jdbcTypeForNull
可以知道:对于一些数据库而言如oracle,不支持JDBC类型为OTHER的,mybatis默认传入的是空值时,则是OTHER。
修改sql语句:
insert into emp(ID,NAME,GENDER,EMAIL)
values(#{id},#{name},#{gender},#{email,jdbcType=NULL) 或VARCHAR
另外可以在mybatis的mybatis-config.xml的的进行配置或springboot中application.properties\application.yml文件配置......
mybatis-config.xml配置:
<settings> <setting name="jdbcTypeForNull" value="NULL"></setting> </settings>