● if
● choose(when, otherwise)
<if>
if는 test라는 속성과 함께 특정한 조건이 true가 되었을 때 포함된 SQL을 사용하고자 할 때 사용
ex) 단일 항목으로 제목, 내용, 작성자(title, content, writer)에 대해 검색해야 하는 상활 일 때
- 검색 조건이 'T'면 제목(title)이 키워드(keyword)인 항목을 검색
- 검색 조건이 'C'면 내용(content)이 키워드(keyword)인 항목을 검색
- 검색 조건이 'W'면 작성자(writer)이 키워드(keyword)인 항목을 검색
// 검색 조건이 T일 경우
<if test="type == 'T'.toString()">
(title like '%' || #{keyword} || '%')
</if>
// 검색 조건이 C일 경우
<if test="type == 'C'.toString()">
(content like '%' || #{keyword} || '%')
</if>
// 검색 조건이 W일 경우
<if test="type == 'W'.toString()">
(writer like '%' || #{keyword} || '%')
</if>
<choose>
if와는 달리 choose는 여러 상황들 중 하나의 상황에서만 동작
Java 언어의 'if~else'나 JSTL의 <choose>와 유사
<choose>
<when test="type == 'T'.toString()">
(title like '%' || #{keyword} || '%')
</when>
<when test="type == 'C'.toString()">
(content like '%' || #{keyword} || '%')
</when>
<when test="type == 'W'.toString()">
(writer like '%' || #{keyword} || '%')
</when>
<otherwise>
(title liek '%' || #{keyword} || '%' OR content like '%' || #{keyword} || '%')
</otherwise>
</choose>
'프로그래밍 > Spring' 카테고리의 다른 글
[Spring] UriComponentsBuilders 클래스 (0) | 2020.12.24 |
---|---|
[MyBatis] 동적 태그들(trim, foreach) (0) | 2020.12.23 |
[Spring] 페이징 처리 (0) | 2020.12.22 |
[JSTL] jsp에서 url의 get parameter 가져오는 방법 (0) | 2020.12.11 |
[JSTL]javascript에서 context path를 가져오는 방법 (0) | 2020.12.11 |