티스토리 뷰
쿼리를 쓸 때 조건절을 동적으로 사용하는 경우가 많다.
그럴 때 문제가 되는게 연산자나 콤마의 제거이다.
그럴 때는 Mybatis의 trim 을 쓰면 된다.
1. 맨 끝에 있는 콤마(,)를 제거하는 경우
<update id="updateAuthorIfNecessary" parameterType="domain.blog.Author">
UPDATE AUTHOR
<trim prefix="SET" suffixOverrides=",">
<if test="username != null">username=#{username},</if>
<if test="password != null">password=#{password},</if>
<if test="email != null">email=#{email},</if>
<if test="bio != null">bio=#{bio},</if>
</trim>
WHERE id=#{id}
</update>
맨앞에 SET을 붙이고 if안에 무엇이 들어가도 맨 끝에 있는 콤마를 지우겠다는 것이다.
2. 맨 앞에 있는 연산자를(AND 또는 OR) 제거하는 경우
<select id="selectInfo" parameterType="domain.blog.Author" resultType="authorResultMap">
SELECT * FROM AUTHOR
<trim prefix="WHERE" prefixOverrides="AND |OR">
<if test="username != null>AND username=#{username}</if>
<if test="password != null>OR password=#{password}</if>
<if test="email != null>AND email=#{email}</if>
</trim>
</select>
앞에 들어가는 AND 또는 OR을 제거하겠다는 것이다.
- Total
- Today
- Yesterday
- Spring메일
- jquery
- 선택정렬
- InsertionSort
- SQL
- Quicksort
- 스프링
- selectionSort
- 알고리즘
- spring
- 태그를 입력해 주세요.
- 합병정렬
- sockjs
- Mergesort
- 페이징
- 퀵정렬
- Cookie
- binarysearch
- 전화번호
- iBATIS
- Algorithm
- 이진탐색
- BubbleSort
- 팩토리얼
- Java
- dbconnection
- 삽입정렬
- websocket
- 버블정렬
- mysql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |