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
반응형
블로그 이미지

nineDeveloper

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

,