BE/SQL
[MariaDB/Mybatis] foreach 사용 동적 쿼리문
soohykim
2025. 4. 28. 10:41
728x90
반응형
📂 foreach 문법
📌Mybatis foreach문 지원 태그
- collection : 전달받은 인자. List or Array 형태만 가능
- item : 전달받은 인자 값을 alias 명으로 대체
- open : 구문이 시작될때 삽입할 문자열
- close : 구문이 종료될때 삽입할 문자열
- separator : 반복 되는 사이에 출력할 문자열
- index : 반복되는 구문 번호이다. 0부터 순차적으로 증가
📌 동적 쿼리 사용
<foreach collection="langList" item="item" index="index" separator="," open="AND ATT08 NOT IN (" close=")">
#{item}
</foreach>
📌 다건 insert
<insert id="insertTable" parameterType="java.util.List">
INSERT
INTO table (
item_id
, locale_code
, lang_code
)
VALUES
<foreach collection="list" item="item" separator=" , " >
<![CDATA[
( #{item.item_id}
, #{item.locale_code}
, #{item.lang_code}
)
]]>
</foreach>
</insert>
✏️ 변수
# : SQL DB 실행 시에 데이터 바인딩
$ : SQL 쿼리문 로드시에 데이터 바인딩
728x90
반응형