property : 파라미터명
prepend : 쿼리로 쓰일 문자
open : 구문이 시작될때 삽입할 문자열
close : 구문이 종료될때 삽입할 문자열
MyBatis foreach문 지원 태그
<foreach collection="List or Array" item="alias" ></foreach>
사용 예시
<select id="selectPostIn" resultType="domain.blog.Post">
SELECT *
FROM POST P
WHERE ID in
<foreach item="item" index="index" collection="list"
open="(" separator="," close=")">
#{item}
</foreach>
</select>
공통 배열 데이터
String[] userArray = {"1", "2", "3"}
1-1. 배열 파라미터를 Map을 통해 넘겼을 경우
DAO
public List<Members> getAuthUserList(String[] userArray){
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("userArray", userArray);
return sqlSession.selectList("getAuthUserList", map);
}
user-Mapper.xml
<select id="getAuthUserList" resultType="members">
SELECT m.*,a.name FROM members AS m
JOIN authority AS a ON m.authority = a.authority
WHERE m.authority IN
<foreach collection="userArray" item="arr" open="(" close=")" separator=",">
#{arr}
</foreach>
ORDER BY m.authority;
</select>
**주의 : collection을 꼭 넘겨주는 배열 변수 값과 동일하게 작성해야됨