<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<!-- 사원관리 -->
<typeAlias alias="Emp" type="com.emp.dao.EmpDTO"/>
<resultMap class="Emp" id="EmpList">
<result property="empno" column="empno"/>
<result property="ename" column="ename"/>
<result property="job" column="job"/>
<result property="mgr" column="mgr"/>
<result property="hiredate" column="hiredate"/>
<result property="sal" column="sal"/>
<result property="comm" column="comm"/>
<result property="deptno" column="deptno"/>
</resultMap>
<select id="empFind" resultMap="EmpList" parameterClass="Emp">
select empno,ename,job,nvl(mgr,0) as mgr,hiredate,
sal,nvl(comm,0) as comm,deptno from emp
<dynamic prepend="where">
<isNotEmpty prepend="and" property="ename">
ename like '%' || #ename# || '%'
</isNotEmpty>
<isNotEmpty prepend="and" property="job">
job=#job#
</isNotEmpty>
<isNotEmpty prepend="and" property="hiredate">
hiredate between #hiredate# and #hiredate#
</isNotEmpty>
<isNotEmpty prepend="and" property="sal">
sal > #sal#
</isNotEmpty>
</dynamic>
</select>
<!--
prepend :연산자
property : 필드명
태그
isNotEmpty : 공백문자
isEqual : 프로퍼티와 다른 프로퍼티가 같은지 확인 ==id
isNotEqual : 같지 않은지 여부확인
isGreaterThan : 큰지 체크 1500 < sal
<isGreaterThan prepend="and" property="sal" compareValue="1500">
isGreaterEqual : 크거나 같은지 체크 1500 <= sal
isLessThan : 작은지 체크 1500 > sal
isLessEqual : 작거나 같은지 체크 1500 >= sal
단일 조건
isNull 프로퍼티값이 null
isNotNull 프로퍼티값이 null이 아닌경우
isEmpty 프로퍼티값이 null이거나 size<1
isNotEmpty
다중
iterator
name in ('a','b','c')
name=#name[]#
-->
</sqlMap>
'SQL > IBATIS' 카테고리의 다른 글
ibatis - 동적으로 테이블 가져올 때 부적합한 열이름 에러 (0) | 2014.09.11 |
---|---|
ibatis에서 queryForList와 queryForMap의 차이 (0) | 2014.08.21 |
ibatis에서 or절 사용하기 (0) | 2014.04.12 |
ibatis Boolean 사용법 (0) | 2014.04.12 |
ibatis 글자수로 조건 줄때 (0) | 2014.04.12 |
동적 SQL (0) | 2014.03.25 |
ibatis 동적 쿼리 예제 (0) | 2014.03.25 |
dynamic 태그, isParameterPresent, removeFirstPrepend 설명 (0) | 2014.03.25 |