본문 바로가기
▶ Back-End/DataBase

Mybatis foreach문(반복문/동적 SQL)

by 오늘도 코딩 2021. 2. 4.
728x90
반응형

List or Array 형태의 동적인 값을 반복 처리하기 위해 사용

 

 

▷ 기본 형태

<foreach collection="" item="" index="" open="" close="" separator=""> ... </foreach>

 

 

▷ 지원 태그

태그 명 태그 설명
collection 전달 받은 인자
item 전달 받은 인자 Alias(별명)
open 구문 시작 시 들어갈 문자열
close 구문 종료 시 들어갈 문자열
separator 매 반복 회차 종료 시 들어갈 문자열(반복 구분자)
index 반복 횟수

 

 

▷ ExampleData

[id:ST0001, name:홍일동, age:23]
[id:ST0002, name:홍이동, age:34]
[id:ST0003, name:홍삼동, age:15]

 

 

▷ Example

<select id="example" parameterType="java.util.List">
    SELECT 
    	*
    FROM 
    	GRADES_TABLE 
    WHERE 
    	STUDENT_ID IN
        <foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
        	#{item.id}
        </foreach>
        <!-- foreach 결과 : STUDENT_ID IN("ST0001","ST0002","ST0003") -->
</select>

 

 

▷ 관련 글

 

Mybatis Oracle MERGE INTO 구문

Oracle에서 데이터가 없으면 INSERT, 이미 데이터가 있으면 UPDATE *하나의 쿼리로 두 가지 경우를 해결할 수 있다. ▷ 사용법 --쿼리 대상 [TABLE/VIEW] MERGE INTO [TABLE/VIEW] --비교대상 [TABLE/VIEW], DUAL은 위와

coding-today.tistory.com

 

 

728x90
728x90

댓글