SQL/IBATIS

ibatis 동적 쿼리 예제

nineDeveloper 2014. 3. 25. 06:21
728x90
반응형

<select id="test" parameterClass="Map">
  SELECT *
  FROM IS016_VNIN
  <dynamic prepend="WHERE">
    <isNotNull prepend="AND" removeFirstPrepend="true" open="(" close=")" >
      <isNotEmpty prepend="OR" property="kojic">
         KOJIC = #kojic#
      </isNotEmpty>
      <isNotEmpty prepend="OR" property="pYear">
         P_YEAR = #pYear#
      </isNotEmpty>
     </isNotNull>
   <isNotEmpty prepend="AND" property="kojic1">
    KOJIC = #kojic1#
   </isNotEmpty>
  </dynamic>
 </select>

 

동적으로 where ( a = '1' or b = '2') and c = '3' 을 만들기 위한 쿼리...

 

removeFirstPrepend="true" => 이태그 밑의 처음 들어오는 조건은 prepend 를 붙이지 않겠다는....

isNotNull 테그 안에  하나라도 조건이 있으면 처음과 끝에 '(', ')' 를 붙이겠다는...

 

즉 동적으로 where ( a = '1' or b = '2') and c = '3' 이런 쿼리를 만든다..ㅋ

728x90
반응형