Kim VamPa

[MyBatis] <trim> 사용법 본문

공부/데이터베이스

[MyBatis] <trim> 사용법

Kim VamPa 2021. 3. 7. 10:41
728x90
반응형

목표

 

MyBatis에서 사용하는 <trim> 사용법

 <trim>를 왜 사용하고 어떻게 사용하는지를 알아봅니다.

 

 

순서

1. <trim> 이해

2. 예제

 

 

1. <trim>

 접두어(prefix), 접미어(suffix)를 붙여주거나 지우는 기능을 합니다. <if> 태그를 보완하는 역할을 해줍니다.

 

 <tirm>은 4가지의 속성을 가지고 있습니다.

 

1) prefix 속성 - <trim>태그 내부 실행될 쿼리문 앞에 설정해둔 속성값을 삽입합니다.

 


insert into tbl_board(title,content, writer)
<trim prefix="set">
	("Board Title", "Board Content", "Board Writer")
</trim>

최종 실행 쿼리문 : 
	insert into tbl_board(title,content, writer) 
	set("Board Title", "Board Content", "Board Writer")
    

 

2) suffix 속성 - <trim>태그 내부 실행될 쿼리문 뒤에 설정해둔 속성값을 삽입합니다.

 

insert into tbl_board(title,content, writer) set
<trim prefix="(" suffix=")">
	"Board Title", "Board Content", "Board Writer"
</trim>

최종 실행 쿼리문 : 
	insert into tbl_board(title,content, writer) 
	set("Board Title", "Board Content", "Board Writer")
    

 

3) prefixOverrids 속성 - <trim>태그 내부 실행될 쿼리문 가장 앞의 단어가 속성값에 설쟁해둔 문자와 동일할 경우 문자를 지웁니다.

 


select * from tbl_board where
<trim prefixOverrides="OR">
	OR title = "Board Title" AND content = "Board Content"
</trim>

최종 실행 쿼리문 : 
	select * from tbl_board where
	title = "Board Title" AND content = "Board Content"
    

 

 

4) suffixOverrids 속성 - <trim> 태그 내부 실행될 쿼리문 가장 뒤의 단어가 속성값에 설정해둔 문자와 동일한 경우 문자를 지웁니다.

 

select * from tbl_board where
<trim suffixOverrides="AND">
	 title = "Board Title" AND content = "Board Content"AND
</trim>

최종 실행 쿼리문 : 
	select * from tbl_board where
	title = "Board Title" AND content = "Board Content"
    
    

 

 

 

2. 예제

 

	select * from tbl_board where
    <trim preifx="" prefixOverrids=" AND | OR">
    	<if = test="title != null">
        	title = #{title}
        </if>
    	<if = test="content != null">
        	AND content = #{content}
        </if>
    	<if = test="writer != null">
        	OR writer = #{writer}
        </if>        
    </trim>
    
    실행예상 문장
    1. select * from tbl_board where title = #{title}
    2. select * from tbl_board where content = #{content}
    3. select * from tbl_board where writer = #{writer}
    4. select * from tbl_board where title = #{title} AND content = #{content}
    5. select * from tbl_board where title = #{title} OR writer = #{writer}
    6. select * from tbl_board where content = #{content} OR writer = #{writer}

 

update tbl_board set
<trim suffix="," suffixOverrides=",">
	<if test="title != null">
    	title = #{title},
    </if>
    <if test="title != null">
    	content = #{content},
    </if>
    <if test="title != null">
    	writer = #{writer}
    </if>
</trim>

예상 실행 쿼리
1. update tbl_board set title = #{title}
2. update tbl_board set content = #{content}
3. update tbl_board set writer = #{writer}
4. update tbl_board set title = #{title}, content = #{content}
5. update tbl_board set title = #{title}, writer = #{writer}
6. update tbl_board set content = #{content}, writer = #{writer}

 

 

REFERENCE

 

DATE

  • 2020.03.07
728x90
반응형
Comments