본문 바로가기

Back-end/Mybatis

Mybatis의 동적태그(foreach/trim)

foreach

: foreach는 리스트, 배열, 맵 등을 이용해서 루프를 처리할 수 있다.

 

 

사용 예시

<select id="getList" resultType="org.oreo.BoardVO">
  SELECT *
  FROM BOARD 
  WHERE BNO IN
 <foreach item="item" index="key" collection="list" open="(" separator="," close=")">
      #{item}
 </foreach>
</select>

item= 전달받은 인자 값을 alias 명으로 변경

collection= 전달받은 인자(리스트나 배열이나 맵)  **넘겨주는 (리스트/맵/배열) 변수명과 동일하게 지정해야 한다.

index = 0부터 순차적으로 부여되는 인덱스 번호이고, 맵형태일 때는 키 값이 해당된다.

open: 구문 시작될 때 문자열

separator: 구분자

close: 구문 끝날 때 문자열

 

 

trim

trim은 태그의 내용을 앞의 내용과 관련된 접두/접미를 처리할 수 있다.

속성

prefix trim문 안에 쿼리 가장 앞에 해당 문자열을 붙여준다.
suffix trim문 안에 쿼리 가장 뒤에 문자열을 붙여준다.
prefixOverrides trim문 안에 쿼리 가장 앞에 해당하는 문자가 있으면 자동으로 지워줌.
suffixOverrides trim문 안에 쿼리 가장 뒤에 해당하는 문자가 있으면 자동으로 지워줌.