在用mybatis的時候,特別是在進行update,insert或者delete的時候,如果有的值是null的話,會報錯。原因是沒有爲參數指定jdbcType,所以當值是null的時候,mybatis無法進行轉換,解決方法就是在sql的xml文件中,每個參數後面都跟上它的jdbcType。
<insert id="insertSomething" parameterType="xxx.xxx.xxx.xxxxvo">
insert into tbl (name,age,sex) values (#{name,jdbcType=VARCHAR},#{age,jdbcType= INTEGER},#{sex,jdbcType=VARCHAR})
</insert>
jdbcType的值對應有很多:
BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINED
TINYINT REAL VARCHAR BINARY BLOB NVARCHAR
SMALLINT DOUBLE LONGVARCHAR VARBINARY CLOB NCHAR
INTEGER NUMERIC DATE LONGVARBINARY BOOLEAN NCLOB
BIGINT DECIMAL TIME NULL CURSOR
轉載