728x90
반응형

<?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>

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,