Mybatis插入空值时,需要指定jdbcType

mybatis insert空值报空值异常,但是在pl/sql不会提示错误,主要原因是mybatis无法进行转换,
解决方法:
在insert语句中,增加jdbcType解决问题

<insert id="save" parameterType="Man">
    <![CDATA[
        insert into t_man (id, name, birthday)
        values(
            #{id, jdbcType=VARCHAR},
            #{name, jdbcType=VARCHAR},
            #{birthday, jdbcType=DATE}
        )
    ]]>
</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

猜你喜欢

转载自it4j.iteye.com/blog/1900075