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
반응형