[MyBatis] 동적 쿼리 <trim>

Jisoo Choi·2022년 6월 29일
0

Database

목록 보기
3/5

trim

동적 SQL을 사용하기 위해 사용되는 문법으로 접두어(prefix), 접미어(suffix)를 붙여주거나 지우는 기능을 한다.
보통 <if> 태그를 썼을 경우 사용한다.

trim 은 단독으로 사용되지 않고 <if>, <choose> 와 같은 태그들을 내포하여 SQL들을 연결해주고, 쿼리 앞뒤에 필요한 구문들(AND, OR, WHERE)을 추가하거나 생략해줄 수 있다.

🦕 trim 문법

1) prefix

  • <trim>문에 의해 생성되는 SQL 구문 앞에 추가적인 구문을 넣어준다.
SELECT * FROM USER
	<trim prefix="where">
		username = #{username}
	</trim>

2) suffix

  • <trim> 문에 의해 생성되는 SQL 구문 뒤에 추가적인 구문을 넣어준다.
<trim suffix=")">
</trim>

3) prefixOverrides

  • <trim> 문에 의해 생성되는 SQL 구문 가장 앞에 해당하는 문자가 있으면 자동으로 지워준다.
SELECT * FROM USER
	<trim prefix="WHERE" prefixOverrides="AND | OR">
    	<if test="username != null">
			AND username = #{username}
        </if>
	</trim>

4) suffixOverrides

  • <trim> 문에 의해 생성되는 SQL 구문 가장 뒤에 해당하는 문자가 있으면 자동으로 지워준다.
INSERT INTO USER
	(
	<trim suffixOverrides=",">
		username,
	</trim>
    )
   	...


Reference

profile
👩‍🚀 No worries! Just record

0개의 댓글