공부/데이터베이스
[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
반응형