1. 程式人生 > >mybatis在insert時,實體類欄位為null時,報錯問題

mybatis在insert時,實體類欄位為null時,報錯問題

今天遇到如題的問題,就是在mybatis 插入oracle資料庫空值的報的異常:

org.springframework.jdbc.UncategorizedSQLException: Error setting null parameter.  Most JDBC drivers require that the JdbcType must be specified for all nullable parameters. Cause: java.sql.SQLException: Invalid column type ; uncategorized SQLException for SQL []; SQL state [null]; error code [17004]; Invalid column type; nested exception is java.sql.SQLException: Invalid column type

開始sql是這樣寫的insert into user(id,name) values(#{id},#{name}) 

解決方法:

一、指定插入值得jdbcType,將sql改成 insert into user(id,name) values(#{id,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR}) 

二、在mybatis-config.xml檔案中配置一下,新增settings配置,如下:(推薦)

<configuration>

......

<settings>

    <setting name="jdbcTypeForNull" value="NULL" />

</settings>

......

</configuration>