在用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
转载