mybatis 允许插入数据库的字段为空的问题

MyBatis 插入空值时,需要指定JdbcType 
mybatis insert空值报空值异常,但是在pl/sql不会提示错误,主要原因是mybatis无法进行转换

    <!--注册用户-->
    <insert id="addUser" parameterType="User" useGeneratedKeys="true" keyProperty="tId">
        INSERT INTO t_user VALUES( 
        #{tId,jdbcType=NUMERIC},#{tName,jdbcType=VARCHAR},#{tSex,jdbcType=VARCHAR},
        #{tAge,jdbcType=NUMERIC},#{tBirth,jdbcType=DATE}
        )
    </insert>

Mybatis中javaType和jdbcType对应和CRUD例子:

<resultMap type="java.util.Map" id="resultjcm">
    <result property="FLD_NUMBER" column="FLD_NUMBER" javaType="double" jdbcType="NUMERIC"/>
    <result property="FLD_VARCHAR" column="FLD_VARCHAR" javaType="string" jdbcType="VARCHAR"/>
    <result property="FLD_DATE" column="FLD_DATE" javaType="java.sql.Date" jdbcType="DATE"/>
    <result property="FLD_INTEGER" column="FLD_INTEGER" javaType="int" jdbcType="INTEGER"/>
    <result property="FLD_DOUBLE" column="FLD_DOUBLE" javaType="double" jdbcType="DOUBLE"/>
    <result property="FLD_LONG" column="FLD_LONG" javaType="long" jdbcType="INTEGER"/>
    <result property="FLD_CHAR" column="FLD_CHAR" javaType="string" jdbcType="CHAR"/>
    <result property="FLD_BLOB" column="FLD_BLOB" javaType="[B" jdbcType="BLOB"/>
    <result property="FLD_CLOB" column="FLD_CLOB" javaType="string" jdbcType="CLOB"/>
    <result property="FLD_FLOAT" column="FLD_FLOAT" javaType="float" jdbcType="FLOAT"/>
    <result property="FLD_TIMESTAMP" column="FLD_TIMESTAMP" javaType="java.sql.Timestamp" jdbcType="TIMESTAMP"/>
</resultMap>

 

转载于:https://my.oschina.net/u/3754971/blog/1944670

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值