<foreach>:循环遍历标签。适用于多个参数或者的关系。
属性
collection:参数容器类型,(list-集合,array-数组,map-集合)。
open:开始的 SQL 语句。
close:结束的SQL 语句。
item:参数变量名。如果是对象,item则代表对象的别名,对象内的数据采用item.xxx的形式获取
separator:分隔符。 index:在list、Set和数组中,index表示当前迭代的位置,在map中,index代指是元素的key,该 参数是可选项。
传入list集合示例
<!--方法一:-->
<select id="selectByIds" resultType="student" parameterType="list">
SELECT * FROM student
<where>
<foreach collection="list" open="id IN (" close=")" item="id" separator=",">
#{id}
</foreach>
</where>
</select>
<!--方法二:-->
<select id="selectByIds" resultType="student" parameterType="list">
SELECT * FROM student WHERE id IN
<foreach collection="list" open="(" close=")" item="id" separator=",">
#{id}
</foreach>
</select>
传入list中包含对象示例:
<insert id="addAll" parameterType="list">
insert into t_ordersetting
(orderDate,number,reservations)
values
<foreach collection="list" item="orderSetting" open="(" separator="),(" close=")">
#{orderSetting.orderDate},#{orderSetting.number},#{orderSetting.reservations}
</foreach>
</insert>