1. 程式人生 > >ibatis iterate標籤

ibatis iterate標籤

Iterate:這屬性遍歷整個集合,併為 List 集合中的元素重複元素體的內容。

Iterate 的屬性:        prepend  - 可被覆蓋的 SQL 語句組成部分,新增在語句的前面(可選)        property  - 型別為 java.util.List 的用於遍歷的元素(必選)        open  -  整個遍歷內容體開始的字串,用於定義括號(可選)        close  -整個遍歷內容體結束的字串,用於定義括號(可選)        conjunction -  每次遍歷內容之間的字串,用於定義 AND 或 OR(可選)        遍歷型別為 java.util.List的元素。

例子:

<iterate prepend=”AND” property=”userNameList”

open=”(” close=”)” conjunction=”OR”>

username=#userNameList[]#

</iterate>

 ibatis中如何配置in語句,需要迭代,不能直接用string的寫法

<select id="sql_test" parameterclass="myPramBean" resultclass="myResult">

select *from tablewhere name in

<iterate property="ids" conjunction="," close=")" open="(" />

#ids[]#

</iterate>

and code=#code#

</select>

myPramBean

{

private String code;

private List ids;

...

} 
<delete id="member.batchDelete" parameterClass="java.util.List">

      DELETE FROM member where id IN

      <iterate conjunction="," open="(" close=")" >

          #value[]#

      </iterate>

</delete>

注意:

使用<iterate>時,在List元素名後面包括方括號[]非常重要,方括號[]將 物件標記為List,以防解析器簡單地將List輸出成String。