mybatis+oracle实现批量更新

本文介绍了一种使用MyBatis框架批量更新数据库中订单信息的方法,通过foreach循环和条件判断,实现对订单各字段如订单号、商品名称、物流信息等的灵活更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


    <update id="batchUpdateByParams">
        <foreach collection="paramList" item="item" index="index" separator=";"  open="begin" close=";end;">
          UPDATE T_CHANNEL_TRADE_ORDER SET ID = #{item.id,jdbcType=DECIMAL}
            <if test="order.partnerId != null and order.partnerId != ''">
                ,PARTNER_ID = #{order.partnerId}
            </if>
            <if test="order.declareBatchNo != null and order.declareBatchNo != ''">
                ,DECLARE_BATCH_NO = #{order.declareBatchNo}
            </if>
            <if test="order.orderNo != null and order.orderNo != ''">
                ,ORDER_NO = #{order.orderNo}
            </if>
            <if test="order.subMemberCode != null and order.subMemberCode != ''">
                ,SUB_MEMBERCODE = #{order.subMemberCode}
            </if>
            <if test="order.supplyName != null and order.supplyName != ''">
                ,SUPPLY_NAME = #{order.supplyName}
            </if>
            <if test="order.orderDate != null and order.orderDate != ''">
                ,ORDER_DATE = #{order.orderDate}
            </if>
            <if test="order.goodsName != null and order.goodsName != ''">
                ,GOODS_NAME = #{order.goodsName}
            </if>
            <if test="order.goodsCategroy != null and order.goodsCategroy != ''">
                ,GOODS_CATEGROY = #{order.goodsCategroy}
            </if>
            <if test="order.goodsQuantity != null and order.goodsQuantity != ''">
                ,GOODS_QUANTITY = #{order.goodsQuantity}
            </if>
            <if test="order.goodsPrice != null">
                ,GOODS_PRICE = #{order.goodsPrice}
            </if>
            <if test="order.amount != null">
                ,AMOUNT = #{order.amount}
            </if>
            <if test="order.currency != null and order.currency != ''">
                ,CURRENCY = #{order.currency}
            </if>
            <if test="order.logisticsCompany != null and order.logisticsCompany != ''">
                ,LOGISTICS_COMPANY = #{order.logisticsCompany}
            </if>
            <if test="order.logisticsOrderNo != null and order.logisticsOrderNo != ''">
                ,LOGISTICS_ORDERNO = #{order.logisticsOrderNo}
            </if>
            <if test="order.resultCode != null and order.resultCode != ''">
                ,RESULT_CODE = #{order.resultCode}
            </if>
            <if test="order.usedFlag != null and order.usedFlag != ''">
                ,USED_FLAG = #{order.usedFlag}
            </if>
            WHERE 1 = 1
            <if test="item.id != null">
                AND ID = #{item.id,jdbcType=DECIMAL}
            </if>
            <if test="item.declareBatchNo != null and item.declareBatchNo != ''">
                AND DECLARE_BATCH_NO = #{item.declareBatchNo,jdbcType=VARCHAR}
            </if>
            <if test="item.orderNo != null and item.orderNo != ''">
                AND ORDER_NO = #{item.orderNo,jdbcType=VARCHAR}
            </if>
            <if test="item.subMemberCode != null and item.subMemberCode != ''">
                AND SUB_MEMBERCODE = #{item.subMemberCode}
            </if>
        </foreach>
    </update>

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值