ibatis的iterate使用
Iterate:這屬性遍歷整個(gè)集合,并為 List 集合中的元素重復(fù)元素體的內(nèi)容。Iterate 的屬性:?
??????prepend? - 可被覆蓋的 SQL 語句組成部分,添加在語句的前面(可選)?
??????property? - 類型為 java.util.List 的用于遍歷的元素(必選)?
??????open? -? 整個(gè)遍歷內(nèi)容體開始的字符串,用于定義括號(hào)(可選)?
??????close? -整個(gè)遍歷內(nèi)容體結(jié)束的字符串,用于定義括號(hào)(可選)?
??????conjunction -? 每次遍歷內(nèi)容之間的字符串,用于定義 AND 或 OR(可選)?
??????遍歷類型為 java.util.List的元素。
例子:
<iterate prepend=”AND” property=”userNameList”
open=”(” close=”)” conjunction=”O(jiān)R”>
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="(" />
#value[]#
</iterate>
and code=#code#
</select>
myPramBean
{
private String code;
private List ids;
...
}
eg:
<delete id="member.batchDelete" parameterClass="java.util.List">
? ?? ?DELETE FROM member where id IN
? ?? ?<iterate conjunction="," open="(" close=")" >
? ?? ??? ?#value[]#
? ?? ?</iterate>
</delete>
注意:使用<iterate>時(shí),在List元素名后面包括方括號(hào)[]非常重要,方括號(hào)[]將
對(duì)象標(biāo)記為L(zhǎng)ist,以防解析器簡(jiǎn)單地將List輸出成String。
posted on 2010-02-02 15:49 飛熊 閱讀(27193) 評(píng)論(3) 編輯 收藏 所屬分類: Ibatis