<foreach collection="sUser_type" item="type" open="(" close=")" seperator="or">
</foreach>
collection = 전달받은 인자, List나 Array형태만 가능
item = 전달받은 인자값을 alias 명으로 대체
open = 해당 구문이 시작될때 삽입할 문자열
close = 해당 구문이 종료될때 삽입할 문자열
seperator = 반복 되는 사이에 출력할 문자열
index = 반복되는 구문 번호이다. 0부터 순차적으로 증가
List 형태를 넘겼을 경우의 예제
// java code
List sUserTp = new ArrayList();
sUserTP.add("SP");
sUserTP.add("BX");
HashMap hm = new HashMap();
hm.put("sUser_age", 23);
hm.put("sUser_type", sUserTP);
// sqlmapper
<select id="getList" resultType="hashmap" parameterType="hashmap">
SELECT
name, age
FROM
TB_user
WHERE
age = #{sUser_age} AND
<foreach collection="sUser_type" item="type" open="(" close=")" separator=",">
#{type.value}
</foreach>
Array 형태를 넘겼을 경우의 예제
// java code
List sUserTp = new ArrayList();
sUserTP.add("SP");
sUserTP.add("BX");
HashMap hm = new HashMap();
hm.put("sUser_age", 23);
hm.put("sUser_type", sUserTP);
// sqlmapper
<select id="getList" resultType="hashmap" parameterType="hashmap">
SELECT
name, age
FROM
TB_user
WHERE
age = #{sUser_age} AND
<foreach collection="sUser_type" item="type" index="index" open="(" close=")" separator=",">
#{type[index]}
</foreach>