🔍 <choose> 태그
자식태그로 <when>, <otherwise> 태그를 사용함
- if ~ else if ~ else 구문과 비슷한 다중 조건문을 작성할 수 있음
<choose>태그에는 속성을 작성하지 않음
<when>태그에는 test 속성으로 조건식을 작성함
<otherwise>태그는 속성없이 작성하며 <when>태그들의 마지막에 작성
🔍 <trim>태그
WHERE절에서 불필요한 AND | OR를 제거할 때, UPDATE 구문에서 SET절의 ,를 제거할 때 사용하는 태그
👉🏻 전달 파라미터에 따라 동적으로 쿼리가 변경되도록 작성한 구문에서 데이터가 없이 메소드가 호출되면 WHERE키워드와 AND 또는 OR 의 충돌, UPDATE구문의 SET키워드와 ,의 충돌이 발생할 수 있음
➰ 속성
- prefix : 접두어를 지정
- 구문의 맨 앞에 반드시 추가될 문자열(SQL 구문)을 작성
- prefixOverrides : 접두어에 지정한 구문과 겹치면 지워질 문자열을 지정함
- prefix설정이 없으면 구문의 제일 앞에 지정한 문자열이 오면 지움
- suffix : 접미어를 지정
- 구문의 맨 뒤에 반드시 추가될 문자열(SQL 구문)을 작성
- suffixOverrides : 접미어에 지정한 구문과 겹치면 지워질 문자열을 지정
- suffix설정이 없으면 구문의 제일 앞에 지정한 문자열이 오면 지움
✔ <where> 태그 👉🏻 <trim prefix="WHERE" prefixOverrides="AND|OR">를 대신해서 사용할 수 있음
✔ <set> 태그 👉🏻 <trim prefix="SET" prefixOverrides=",">를 대신해서 사용할 수 있음
🔍 <foreach> 태그
SQL 구문이 반복적으로 추가되면서 동적으로 바뀌는 구문을 생성할 때 사용
- 배열/해시맵같은 컬렉션 데이터를 처리할 때 유용
- 배열이나 리스트를 매퍼에서 사용할 때에는 전달파라미터로 해시맵에 넣어서(put) 사용해야 함
➰ 속성
- collection : 반복 수행할 객체의 이름을 지정
- item : 반복될 때마다 사용할 요소의 이름을 지정
- open : 구문의 첫 부분에 사용할 구문(단어)를 지정
- close : 구문의 끝 부분에 사용할 구문(단어)를 지정
- seperate : 반복되는 구문 사이사이에 추가할 구문(단어)를 지정
정보 감사합니다.