在使用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>