mybatis 批量更新SQL

该文展示的是两个SQL更新语句的例子,一个是针对多条件的更新,使用了标签处理list集合中的数据,根据不同的条件设置TRANS_AMOUNT的值。另一个是单条件更新,分别处理APPLY_PAY_STATUS和FINANCE_PAY_NO字段,同样依据list集合中的applyPayBean对象进行更新操作。
摘要由CSDN通过智能技术生成

1:多条件

<update id="updateBatch" parameterType="java.util.List">
		update corp_tag
		<trim prefix="set" suffixOverrides=",">
            <trim prefix="TRANS_AMOUNT =case" suffix="end,">
                <foreach collection="list" item="item" index="index">
                     when CORP_ID= #{item.corpId} and TAG_ID = #{item.tagId} then #{item.transAmount}
                </foreach>
            </trim>
        </trim>
		<where>
			<foreach collection="list" item="item" open="( " separator=") or (" close=" )">
				CORP_ID= #{item.corpId} and TAG_ID = #{item.tagId}
			</foreach>
		</where>
	</update>

2:单条件

<update id="updateBatch" parameterType="java.util.List">
		update corp_tag
		<trim prefix="set" suffixOverrides=",">
			<trim prefix="APPLY_PAY_STATUS =case" suffix="end,">
				<foreach collection="applyPayBeanList" item="applyPayBean">
					<if test="applyPayBean.applyPayStatus != null and applyPayBean.applyPayStatus != ''">
						when APPLY_PAY_NO = #{applyPayBean.applyPayNo}
						then #{applyPayBean.applyPayStatus}
					</if>
				</foreach>
			</trim>
			<trim prefix="FINANCE_PAY_NO =case" suffix="end,">
				<foreach collection="applyPayBeanList" item="applyPayBean">
					<if test="applyPayBean.financePayNo != null and applyPayBean.financePayNo != ''">
						when APPLY_PAY_NO = #{applyPayBean.applyPayNo}
						then #{applyPayBean.financePayNo}
					</if>
				</foreach>
			</trim>
		</trim>
		<where>
			APPLY_PAY_NO in
			<foreach collection="applyPayBeanList" item="applyPayBean" index="index" open="(" separator="," close=")">
				#{applyPayBean.applyPayNo}
			</foreach>
		</where>
	</update>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值