hanker

iBatis - isEmpty / isNotEmpty 사용 방법 (null or 빈 값 체크) 본문

SPRING

iBatis - isEmpty / isNotEmpty 사용 방법 (null or 빈 값 체크)

hanker 2025. 3. 17. 10:46
반응형

iBATIS에서는 <isEmpty>와 <isNotEmpty> 태그를 사용하여 특정 파라미터 값이 비어 있는지(null 또는 빈 문자열인지) 확인하고,

이에 따라 SQL 조건을 동적으로 변경할 수 있다.

 


1. <isEmpty> 값이 비어 있을 때

 

<select id="selectUser" parameterClass="map" resultClass="User">
    SELECT * FROM USERS
    WHERE 1 = 1
    <isEmpty property="name">
        AND name IS NULL OR name = ''
    </isEmpty>
</select>

 

- <isEmpty>: 해당 property가 null 또는 빈 문자열("")일 때 내부 SQL 구문을 포함한다

- 위 SQL은 name 값이 없을 경우(NULL이거나 "")에만 조건이 추가된다.

 

 


2. <isNotEmpty> 값이 있을 때

 

<select id="selectUser" parameterClass="map" resultClass="User">
    SELECT * FROM USERS
    <isNotEmpty property="name">
        name = #name#
    </isNotEmpty>
</select>

 

 

- <isNotEmpty>: property가 null이 아니고 빈 문자열이 아닐 경우 SQL을 포함한다.

- 즉, name 값이 존재할 때만 WHERE name = #name# 조건이 추가된다.

 


정리
태그 설명 예제
<isEmpty> 값이 null 또는 ""일 때 SQL을 포함 name IS NULL OR name = ''
<isNotEmpty> 값이 null이 아니고 비어있지 않을 때 SQL을 포함 name = #name#

 

 

 

- <isEmpty>: 값이 없을 때 SQL 추가

- <isNotEmpty>: 값이 있을 때 SQL 추가

- 조건을 동적으로 적용하여 WHERE 절을 최적화할 수 있음

 

 

 

반응형