mybatis foreach 문 [펌]
출처 : http://blueverbena.com/archives/845
ome » Programing » Framework » Mybatis » MyBatis 8 . 동적 SQL – foreach
#
SQL의 조회 조건에는 IN절로 조건을 추가하는 경우가 있다. IN절에는 어떠한 값들을 전달하게 되는데, 이때 IN절에 들어갈 값들을
Example
XHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT
article_no,
article_title,
article_content,
article_date,
article_writer
FROM board_article
article_no IN
#{articleNo}
</foreach>
</if>
</trim>
</select>
만약 매핑구문에 게시 글 번호 목록인 articleNos에 {1,2,3}을 설정했다면 다음과 같은 SQL이 생성되게 된다.
Example
XHTML
1
2
3
SELECT article_no, article_title, article_content, article_date, article_writer
FROM board_article
WHERE article_no IN (1,2,3)
위 구문에서 사용한
collection 값 목록을 가진 객체를 설정한다. 위 구문에서는 게시 글 목록이며, 파라미터의 타입은 배열이나 List 모두 처리가 가능하다.item 목록에서 각각의 값을 사용하고자 할 때 사용하는 속성이다.index 몇 번째 값인지 나타내는 인덱스 값이며 0부터 시작한다.open 목록에서 값을 가져와서 실정할 때 가장 앞에 붙여 주는 문자를 지정한다. IN절에서는 대부분 “(“로 시작한다.close 목록에서 값을 가져와서 설정할 떄 가장 뒤에 붙여 주는 문자를 지정한다. IN절에서는 대부분 “)”로 끝난다.separator 목록에서 값을 가져와서 설정할 때 값들 사이에 붙여 주는 문자를 지정한다. IN절에서는 값 사이에 쉼표를 붙여준다.