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에서 #{}와 ${}의 차이점 ?
- #{} : 작은 따옴표(')가 자동으로 붙어서 쿼리가 실행된다.
- ${} : 테이블명이나 컬럼명을 동적으로 사용할 때 쓰인다.
반응형