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="(" /> 
#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>時,在List元素名後面包括方括號[]非常重要,方括號[]將
對象標記爲List,以防解析器簡單地將List輸出成String。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章