mybatis在insert時,實體類欄位為null時,報錯問題
阿新 • • 發佈:2019-02-14
今天遇到如題的問題,就是在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>