DB

[Mybatis] 동적 SQL - <set>, <choose>,<where>

오선지♬ 2022. 2. 8. 21:39
728x90
반응형

board.xml

MyBatis의 동적 SQL 기능을 사용하면 하나의 SQL문으로 조건에 따라 자동으로 변경되는 SQL문을 만들어서

여러 케이스를 처리 할 수 있다.

 

그 중에 <set>에 대하여 알아보자.

 

<set>
    <if test="조건1">SQL</if>
    <if test="조건2">SQL</if>
</set>

 

형식은 이러하다.

- UPDATE문의 SET절을 만들 때 사용.

- <set> 안 조건식이 참이면 SET절을 만들어 반환하고,  거짓이면 만들지 않는다.

- SET절의 항목이 여러 개일 경우 자동으로 콤마( , )를 붙인다.

 

추가로 <choose>와 <where>도 알아보자.

 

<choose>
    <when test="조건1">SQL</when>
    <when test="조건2">SQL</when>
    <otherwise>SQL</otherwise>
<choose>

 

- 검사할 조건이 여러개 일 때 사용.

- if - else 문과 유사.

- 일치하는 조건이 없으면 <otherwise>안의 SQL이 반환된다.

 

 

<where>
    <if test="조건1">SQL</if>
    <if test="조건2">SQL</if>
</where>

 

- SQL문의 WHERE절을 만들 때 사용

- <where> 안 조건식이 참이면  WHERE절을 만들어 반환하고,  거짓이면 만들지 않는다.

728x90
반응형

'DB' 카테고리의 다른 글

[ORACLE][SQL] DDL, DML, DCL 정리  (0) 2022.02.12
[MyBatis] 부등호 사용하기 - 비교 표현식  (0) 2022.02.09
[DB] ORM  (0) 2022.01.27
[ORACLE][SQL] JOIN 종류  (0) 2022.01.14
[ORACLE][SQL] DELETE, TRUNCATE, DROP 의 차이  (0) 2022.01.12