Mybatis

<foreach> 문에 대하여

nan2 2021. 12. 21. 16:15
반응형
List<String> names = {"kim", "lee", "park"};



SELECT *
FROM 테이블명
WHERE 1=1
	AND ${name} IN 
	<foreach collection="names" item="n" open='(' close=')' separator=','>
		#{n}
	</foreach>

 

collection - 전달받은 인자( 반드시 List 이거나 Array 형태 )

item - collection의 alias 명

open - 구문 시작할 때 삽입할 문자열

close - 구문 종료할 때 삽입할 문자열

separator - 반복 구문 사이에 출력하는 구분자

index - 반복되는 구문 번호 ( 0부터 순차 증가 )

 

 

 

▶ MyBatis에서 #{}와 ${}의 차이점 ?

 

- #{}  :  작은 따옴표(')가 자동으로 붙어서 쿼리가 실행된다.

- ${}  :  테이블명이나 컬럼명을 동적으로 사용할 때 쓰인다.

반응형