Mybatis中的foreach

1、foreach元素的属性主要有item,index,collection,open,separator,close。

item:集合中元素迭代时的别名,该参数为必选。
index:在list和数组中,index是元素的序号,在map中,index是元素的key,该参数可选
open:foreach代码的开始符号,一般是(和close=")“合用。常用在in(),values()时。该参数可选
separator:分隔符,表示迭代时每个元素之间以什么分隔
close: foreach代码的关闭符号,一般是)和open=”("合用。常用在in(),values()时。该参数可选。
collection: collection属性的值有三个分别是list、array、map三种,分别对应的参数类型为:List、数组、map集合。

注:foreach标签主要用于构建in条件,可在sql中对集合进行迭代。也常用到批量删除、添加等操作中。

2.代码
(1)构建in条件

<select id="findByIds" resultMap="personMap">
        select * from t_person where f_id in
        <foreach collection="ids" item="id" separator="," open="(" close=")">
            #{id}
        </foreach>
</select>

(2)批量添加

<insert id="insertEventBase" >
        insert into news_event_base(eventId,enodebId,cellId,eci,scene,enodebName,sectorName,createDate) values
        <foreach collection="eventBaseList" item="eventBase" index="index"  separator=",">
            (#{eventBase.eventId},#{eventBase.enodebId},#{eventBase.cellId},#{eventBase.eci},#{eventBase.scene},#{eventBase.enodebName},#{eventBase.sectorName},#{eventBase.createDate})
        </foreach>
</insert>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值