使用iterate属性。
Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容。
Iterate 的属性:
prepend - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选)
property - 类型为 java.util.List 的用于遍历的元素(必选)
open - 整个遍历内容体开始的字符串,用于定义括号(可选)
close -整个遍历内容体结束的字符串,用于定义括号(可选)
conjunction - 每次遍历内容之间的字符串,用于定义 AND 或 OR(可选)
1.java调用
String[] role = new String[]{"1","2","3"};
getSqlMapClientTemplate().queryForList("getRoles", role);
2.xml 文件
传入字符串数组,不需要标明parameterClasss,数组和List类型对象一样都可以用<iterate>标签进行遍历
<select id="getRoles" resultMap="Role">
SELECT *
FROM role r
WHERE r.name IN
<iterate open="(" close=")" conjunction=",">
<![CDATA[#[]#]]>
</iterate>
</select>