1. 程式人生 > >1111; nested exception is java.sql.SQLException: 無效的列型別: 1111

1111; nested exception is java.sql.SQLException: 無效的列型別: 1111

查詢了一下 一些資料說是:
引用 MyBatis 插入空值時,需要指定JdbcType

mybatis insert空值報空值異常,但是在pl/sql不會提示錯誤,主要原因是mybatis無法進行轉換,之後已檢視程式碼發現,果然自己的欄位有空值,

#{item.deviceId,jdbcType=DECIMAL},
        #{item.yuntaiType,jdbcType=DECIMAL},#{item.pixel,jdbcType=DECIMAL},
        #{item.carmarType,jdbcType=DECIMAL},#{item.deviceFactoryType,jdbcType=DECIMAL}
然後在每個欄位後面加上jdbcType,要指定插入型別
jdbcType=DECIMAL
可以看出,是因為你傳入的引數的欄位為null物件無法獲取對應的jdbcType型別,而報的錯誤。
你只要在insert語句中insert的物件加上jdbcType就可以了,修改如下:
#{menuTitle,jdbcType=VARCHAR}
這樣就可以解決以上錯誤了。
參考:http://blog.csdn.net/woniu4500/article/details/45568169