<foreach>標簽有循環的功能,可以用來生成有規律的SQL語句,主要屬性有:
item:表示集合每一個元素進行迭代時的別名
index:表示在迭代過程中,每次迭代到的位置
open:表示該語句已什么開始
separator:表示每次迭代之間以什么符號作為分隔
close:表示該語句已什么結束
collection:需要迭代的變量
<select id="selectPostIn" resultType="domain.blog.Post"> SELECT * FROM POST P WHERE ID in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach> </select>
foreach 元素的功能是非常強大的,它允許你指定一個集合,聲明可以用在元素體內的集合項和索引變量。它也允許你指定開閉匹配的字符串以及在迭代中間放置分隔符。這個元素是很智能的,因此它不會偶然地附加多余的分隔符。
注意 你可以將一個 List 實例或者數組作為參數對象傳給 MyBatis,當你這么做的時候,MyBatis 會自動將它包裝在一個 Map 中並以名稱為鍵。List 實例將會以“list”作為鍵,而數組實例的鍵將是“array”。
到此我們已經完成了涉及 XML 配置文件和 XML 映射文件的討論。下一部分將詳細探討 Java API,這樣才能從已創建的映射中獲取最大利益。
