Mybatis foreach 中批量更新的用法

 <update id="***" parameterType = "java.util.List">
    update <include refid="***" />
    set name= '1'
    where sid in
    <foreach collection="***" index="index" item="item"
             separator="," open = "("  close = ")">
      #{item,jdbcType=VARCHAR}
    </foreach>
  </update >

其中当dao层接口使用@Param("***")绑定参数
collection属性为绑定的参数名

当未使用@Param("***")绑定参数
collection属性为list 或 array
item为别名

批量插入
dao层接口

public interface FundMapper {
	
		int insertForeach(List<Fund> list);
	}
<insert id="insertForeach" parameterType="java.util.List" useGeneratedKeys="false">
    			insert into fund
    			( id,fund_name,fund_code,date_x,data_y,create_by,create_date,update_by,update_date,remarks,del_flag)
    			values
    			<foreach collection="list" item="item" index="index" separator=",">
    				(
    					#{item.id},
    					#{item.fundName},
    					#{item.fundCode},
    					#{item.dateX},
    					#{item.dataY},
    					#{item.createBy},
    					#{item.createDate},
    					#{item.updateBy},
    					#{item.updateDate},
    					#{item.remarks},
    					#{item.delFlag}
    				)
    		     </foreach>		
    </insert>    


<select id="batchInsert" parameterType="java.util.List">  
        insert into apk_statistic_raw  
        (uuid,apk_id,event_id,supply_id,channel_id,file_upload_record_id,product_name,content,time,numbers,status,creator,create_time,other  
        )values  
        <foreach collection="list" item="item" index="index"  
            separator=",">  
            (#{item.uuid,jdbcType=CHAR},#{item.apkId,jdbcType=CHAR},#{item.eventId,jdbcType=CHAR},#{item.supplyId,jdbcType=INTEGER},#{item.channelId,jdbcType=INTEGER}  
            ,#{item.fileUploadRecordId,jdbcType=CHAR},#{item.productName,jdbcType=VARCHAR},#{item.content,jdbcType=VARCHAR},#{item.time,jdbcType=BIGINT},  
            #{item.numbers,jdbcType=INTEGER},#{item.status,jdbcType=INTEGER},#{item.creator,jdbcType=VARCHAR},#{item.createTime,jdbcType=BIGINT},#{item.other,jdbcType=VARCHAR}  
            )  
        </foreach>  
    </select>  

添加链接描述
https://blog.csdn.net/wsjzzcbq/article/details/81779588

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值