ibatis iterate标签

来源:互联网 发布:华硕电池修复软件 编辑:程序博客网 时间:2024/06/01 08:59

原文地址:http://www.blogjava.net/kyleYang/archive/2010/02/02/311688.html

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;...} 

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。
原创粉丝点击