Mybatis(마이바티스) 동적 쿼리 if문 문법, Mybatis(마이바티스) <if> 사용법, Mybatis(마이바티스) <if>사용방법, Mybatis(마이바티스) if 검사방법
Mybatis(마이바티스)는 DBMS엑세스를 쉽게 사용할수 있게 해주는 Java진영의 대표적인 ORM Framework 입니다.
Mybatis(마이바티스)는 동적쿼리 작성을 지원하여 SQL과 코드를 좀 더 간결하게 유지할 수 있습니다.
그 중 이번에는 if문 사용방법을 알아봅시다.
if문의 기본사용법
mybatis의 if문은 값을 확인하려는 조건식이 참일경우 쿼리문에 포함하도록 합니다.
1 | <!-- 예제 --> |
만일 위 예시에서 parameter로 전달받은 keyword값이 null일 경우,
위 쿼리는 아래와 같이 변환될 것입니다.
1 | SELECT * FROM MAP WHERE pid = '100' |
좀 더 다양한 예제를 살펴보겠습니다.
문자열 비교
1 | <if test='paraName1== "Y"'></if> |
숫자 비교
1 | //para값이 3보다 큰가? |
주의할점으로, 이를 쓰다가 아래와 같은 에러 메시지를 본다면 다른 대안을 사용해야합니다.
요소 유형 “?”과(와) 연관된 “?” 속성의 값에는 ‘<’ 문자가 포함되지 않아야 합니다.
원인 : 일단 원인은 “>” 또는 “<” 괄호를 XML Parsing으로 인식
해결법 : 아래와 같이 대체 식을 써서 해결이 가능합니다.
(gt, gte, lt, lte)
1 | //para값이 3보다 큰가? |
그리고(and)조건
&&가 아닌 and로 써야 합니다.
1 | <if test='para == "2" and para2 == "1"'></if> |
또는(or)조건
||가 아닌 or로 써야 합니다.
1 | <if test='para == "2" or para2 == "1"'></if> |
choose, when, otherwise
if - else 구문 처럼 쓰기 위해서는 choose, when, otherwise 구문을 사용할 수 있습니다.
1 | <select id="sql" resultType="map"> |
여기까지 마이바티스
다음에 또 다른 태그 사용법을 알아볼 수 있도록 하겠습니다.
Mybatis(마이바티스) 동적 쿼리 if문 문법, Mybatis(마이바티스)
mybatis choose, mybatis when, mybatis otherwise,
#mybatis,#framework,#orm,#if,#if문,#choose,#when,#otherwise,#마이바티스,#마이바티스,#choose문,#when문,#mybatis동적쿼리,#동적쿼리