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語句中的多個參數值。