MyBatis的foreach标签用于循环遍历集合或数组,并在SQL语句中动态生成多个相同的参数值。
foreach标签有以下几个属性:
使用foreach标签的语法如下:
<foreach collection="collectionName" item="itemName" index="indexName" open="(" close=")" separator=",">
...
</foreach>
其中,collectionName
是要遍历的集合或数组的名称,itemName
是当前元素的名称,indexName
是当前索引的名称,open
是循环开始时的字符,close
是循环结束时的字符,separator
是每次遍历之间的分隔符。
在foreach标签内部,可以编写任意SQL语句,使用#{}
或${}
分别代表使用当前元素或索引的值。
以下是一个示例:
<select id="getUsersByIds" resultType="User">
SELECT * FROM users
WHERE id IN
<foreach collection="ids" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</select>
在上述示例中,ids
是一个包含多个id值的集合,foreach标签会遍历集合中的每个id值,并动态生成SQL语句中的多个参数值。