Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- mssql
- isempty
- docker
- java
- Linux
- pem
- 자바
- PostgreSQL
- mysql
- 명령어
- Python
- MongoDB
- MariaDB
- IntelliJ
- 호이스팅
- isNotEmpty
- spring
- github
- pandas
- git
- 리눅스
- 오블완
- JPA
- SQL
- oracle
- Javascript
- iBatis
- DBMS
- 티스토리챌린지
- analytics4
Archives
- Today
- Total
hanker
iBatis - isEmpty / isNotEmpty 사용 방법 (null or 빈 값 체크) 본문
반응형
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 절을 최적화할 수 있음
반응형
'SPRING' 카테고리의 다른 글
iBatis - isEmpty, isNotEmpty / isNull, isNotNull 뭘 써야 할까? (빈 값 / null 체크) (0) | 2025.03.18 |
---|---|
iBatis - isEqual / isNotEqual (문자열 비교) (0) | 2025.03.12 |
Spring - iBatis 와 MyBatis에서 selectKey 사용법 (INSERT 시 PK 가져오기) (0) | 2025.03.08 |
Spring - MaBatis 사용 시 VO/DTO vs Collection 장단점 (0) | 2025.02.21 |
Spring - 각 DBMS 별 페이징 처리 방법 (0) | 2025.02.13 |