您的位置:首页 > 其它

ibatis iterate标签

2015-06-30 08:33 218 查看
原文地址: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的元素。

例子:

[html] view plaincopy

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

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

username=#userNameList[]#

</iterate>

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

[html] view plaincopy

<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>

[java] view plaincopy

myPramBean

{

private String code;

private List ids;

...

}

eg:

[html] view plaincopy

<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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: