2013-04-24 38 views
2

我使用select語句檢索了List<SomeBean>。現在,我試圖insert一樣。這個插入語句工作正常;但是,我無法插入空值。該表沒有任何NOT NULL限制。以下異常引發:在數據庫中插入null

org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #4 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: Invalid column type

我怎樣才能在MyBatis的插入空值?

+0

如果您沒有設置它在你的'insert'聲明???值會發生什麼! – 2013-04-24 11:58:07

回答

5

將空參數設置爲Prepared Statement或Callable Statement時MyBatis需要知道jdbc類型。就像這樣:

#{myNullParamenter, jdbcType=VARCHAR2} 
+1

Thx!在mybatis教程中經歷了相同的操作。注:如果將null作爲值傳遞,JDBC類型對於所有可爲空的列都是必需的。您可以通過閱讀PreparedStatement.setNull()方法的JavaDocs來自行調查 – abc 2013-04-24 12:32:38

5

插入此行成的MyBatis的配置文件:

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