티스토리 뷰
목차
Mybatis에서 if else 사용 하기
Spring Boot와 Mybatis를 사용해 SQL문을 작성하게 될 때 동적으로 SQL을 만들어야 하는 경우가 반드시 생기기 마련입니다. 보통 조건문을 사용할 때는 if와 else문을 사용하게 되는데요. 아쉽지만 Mybatis에는 if문은 존재하지만 else문을 사용할 수 없습니다.
Mybatis에서 if else 문법과 동일하게 조건문을 사용할 수 있는 방법이 존재하는데 바로 choose 문법입니다. 이 choose 문법을 어떻게 if else 문법과 동일하게 사용해야 하는지 알아보도록 하겠습니다.
조건이 하나인 경우
조건이 한 가지인 경우 아래와 같이 사용할 수 있습니다.
<choose>
<when test = "조건"> // if와 동일
// 실행할 구문 입력
</when>
<otherwise> // else와 동일
// 실행할 구문 입력
</otherwise>
</choose>
가장 단순한 구조라고 할 수 있지요.
조건이 여러 개인 경우
아래와 같이 조건이 여러 개인 경우 약간의 혼동이 올 수 있습니다.
<choose>
<when test = "조건1"> // if와 동일
// 실행할 구문 입력
</when>
<when test = "조건2"> // else if와 동일
// 실행할 구문 입력
</when>
<otherwise> // else와 동일
// 실행할 구문 입력
</otherwise>
</choose>
조건이 한 가지인 경우 when은 단순히 if와 동일한 기능을 수행하지만, 복수라면 얘기가 달라집니다.
2가지 이상의 조건이 있는 경우 when은 else if의 기능도 병행합니다.
choose의 문법 자체가 여러 개의 when 중에서 true의 조건이 한 가지라도 수행된다면 다음 조건은 수행하지 않습니다.
기본 문법은 if와 else if, else 세 가지를 사용한다면, choose 문법에서는 when이 if와 else if의 기능을 둘 다 수행합니다.
응용 방법
하나의 조건문에 여러 가지 조건을 넣을 수도 있습니다. 이런 방법은 if문과 동일하죠.
<choose>
<when test = "값1 != null && 값1 == 'tistory'"> // if와 동일
// 실행할 구문 입력
</when>
<when test = "값1 == 'linebeats' || 값1 == '라인비츠'"> // else if와 동일
// 실행할 구문 입력
</when>
<otherwise> // else와 동일
// 실행할 구문 입력
</otherwise>
</choose>
위와 같이 and를 의미하는 &&와 or을 의미하는 ||를 적절하게 응용해서 사용하면 편리합니다.
마무리
이상 Mybatis에서 if else처럼 사용할 수 있는 방법에 대해서 알아보았습니다.
'프로그래밍 & DB > Java' 카테고리의 다른 글
java.sql.SQLException: 해당 위치에 지원되지 않는 SQL92 토큰 ERROR 해결 방법 (0) | 2022.06.12 |
---|