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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM