MyBatis -- foreach标签(mybatis 批量操作)

业务需求:根据传进来的服务id(多个),更新该服务id对应的某个字段。

抛开业务,纯sql如下

UPDATE t_customer_services
SET USE_FLAG = 1
WHERE
    CUSTOMER_ID = 1000000001
AND SERVICE_ID IN (
    10000000000000000,
    10000000000000001
)

一、mybatis xml中如下

    <update id="updateByPrimaryKeyStringSelective" parameterType="com.readygo.pet.vo.ServiceIdListVO">

        UPDATE t_customer_services
        SET USE_FLAG = #{useFlag},
        UPD_PID = #{updPid},
        UPD_TIME = DATE_FORMAT(NOW(),'%Y%m%d%H%m%s')
        WHERE
        CUSTOMER_ID = #{customerId}
        AND SERVICE_ID IN
        <foreach collection="serviceIdList" item="item" index="index" open="(" separator="," close=")">
            #{item}
        </foreach> 

    </update>

二、com.readygo.pet.vo.ServiceIdLisVO 如下

package com.readygo.pet.vo;

import java.util.List;

public class ServiceIdListVO {
    /**
     * 用户ID
     */
    private Integer customerId;
    
    /**
     * 更改程序ID
     */
    private String updPid;
    
    /**
     * 废止区分
     */
    private Integer useFlag;
    
    /**
     * 服务ID list
     */
    private List<String> serviceIdList;

    public Integer getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Integer customerId) {
        this.customerId = customerId;
    }

    public List<String> getServiceIdList() {
        return serviceIdList;
    }

    public void setServiceIdList(List<String> serviceIdList) {
        this.serviceIdList = serviceIdList;
    }

    public String getUpdPid() {
        return updPid;
    }

    public void setUpdPid(String updPid) {
        this.updPid = updPid;
    }

    public Integer getUseFlag() {
        return useFlag;
    }

    public void setUseFlag(Integer useFlag) {
        this.useFlag = useFlag;
    }

}



转载于:https://my.oschina.net/u/2312022/blog/647341

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值