1. 程式人生 > >Mybatis 報無效的列型別 兩種解決辦法

Mybatis 報無效的列型別 兩種解決辦法

最近忙,好久沒來寫博文了,慚愧。今天遇到如題的問題,就是在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>

問題解決,繼續碼碼,希望常來寫博文,共同學習~~~