mybatis插入数据传入值为null时提示无效的列类型

mybatis插入数据传入值为null时提示无效的列类型

原因:mybatis无法解析值的类型

方法一

因为无法解析null为何种类型,可对传入值在xml中指定类型,如下

<insert id="batchInsertQuestion" useGeneratedKeys="false">
        insert all
        <foreach collection="list" item="item" index="index">
            into ZB_APPRAISE_RECORD_QUESTION (id, record_id, question_name, sort_no, created_by, created_time,
            modified_by,
            modified_time,option_type,appraise_id)
            values
            (#{item.id},#{item.recordId},#{item.questionName,jdbcType=varchar},#{item.sortNo},#{item.createdBy},#{item.createdTime},#{item.modifiedBy},#{item.modifiedTime},#{item.optionType},#{item.appraiseId})
        </foreach>
        select 1 from dual
    </insert>

方法2

在mybatis-config.xml配置文件中配置:

<?xml version=1.0” encoding=UTF-8?>
<!DOCTYPE configuration PUBLIC-//mybatis.org//DTD Config 3.0//EN” “http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration><settings>
<setting name="jdbcTypeForNull" value="NULL" />
</settings></configuration>

springboot yml配置方法如下

mybatis-plus:
  configuration:
    jdbc-type-for-null: 'null' #注意:单引号
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值