mybatis 批量更新

首先以下这种是错误的 mybatis 映射并不能识别符号; 所以pass
<update id="updateBatch">
    <foreach collection="list" separator=";" item="representativesAndPrincipalPersonnel">
        update representatives_and_principal_personnel set
        idcard_number = #{representativesAndPrincipalPersonnel.idcard_number,jdbcType=VARCHAR}
        where id = #{representativesAndPrincipalPersonnel.id,jdbcType=INTEGER}
    </foreach>
</update>

这种 使用when then 的方法才能使用

<update id="updateBatch" parameterType="list">
    update representatives_and_principal_personnel
    <trim prefix="set" suffixOverrides=",">
        <trim prefix="examine_and_approve_id =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.examine_and_approve_id!=null">
                    when id=#{i.id} then #{i.examine_and_approve_id}
                </if>
            </foreach>
        </trim>
        <trim prefix="idcard_number =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.idcard_number!=null">
                    when id=#{i.id} then #{i.idcard_number}
                </if>
            </foreach>
        </trim>
        <trim prefix="name =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.name!=null">
                    when id=#{i.id} then #{i.name}
                </if>
            </foreach>
        </trim>
        <trim prefix="sex =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.sex!=null">
                    when id=#{i.id} then #{i.sex}
                </if>
            </foreach>
        </trim>
        <trim prefix="duty =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.duty!=null">
                    when id=#{i.id} then #{i.duty}
                </if>
            </foreach>
        </trim>
        <trim prefix="rankv =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.rankv!=null">
                    when id=#{i.id} then #{i.rankv}
                </if>
            </foreach>
        </trim>
        <trim prefix="birth =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.birth!=null">
                    when id=#{i.id} then #{i.birth}
                </if>
            </foreach>
        </trim>
        <trim prefix="standard_culture =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.standard_culture!=null">
                    when id=#{i.id} then #{i.standard_culture}
                </if>
            </foreach>
        </trim>
        <trim prefix="workspace =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.workspace!=null">
                    when id=#{i.id} then #{i.workspace}
                </if>
            </foreach>
        </trim>
        <trim prefix="state =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.state!=null">
                    when id=#{i.id} then #{i.state}
                </if>
            </foreach>
        </trim>
        <trim prefix="phone =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.phone!=null">
                    when id=#{i.id} then #{i.phone}
                </if>
            </foreach>
        </trim>
        <trim prefix="have_bad_record =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.have_bad_record!=null">
                    when id=#{i.id} then #{i.have_bad_record}
                </if>
            </foreach>
        </trim>
        <trim prefix="amount_of_contribution =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.amount_of_contribution!=null">
                    when id=#{i.id} then #{i.amount_of_contribution}
                </if>
            </foreach>
        </trim>
    </trim>
    where
    <foreach collection="list" separator="or" item="representativesAndPrincipalPersonnel" index="index">
        id=#{representativesAndPrincipalPersonnel.id}
    </foreach>
</update>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值