mybatis insert 时 null值的报错问题

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

相关推荐