Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容。
Iterate 的属性:
prepend - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选)
property - 类型为 java.util.List 的用于遍历的元素(必选) 注意使用,小心出现:ibatis iterate String index out of range: -1
open - 整个遍历内容体开始的字符串,用于定义括号(可选)
close -整个遍历内容体结束的字符串,用于定义括号(可选)
conjunction - 每次遍历内容之间的字符串,用于定义 AND 或 OR(可选)
遍历类型为 java.util.List的元素。
例子:
。。。。。
<iterate prepend=”AND” property=”userList” open=”(" close=”)" conjunction=”OR”>
username=#nameList[]#
</iterate>
ibatis中如何配置in语句,需要迭代,不能直接用string的写法
UserBean
{
private String name;
private List ids;
...
}
<select id="sql_test" parameterclass="UserBean" resultclass="myResult">
select *from table where ids in
<iterate property="ids" conjunction="," close=")" open="(" />
#value[]#
</iterate>
and name=#name#
</select>