DB/Oracle

[iBatis] 쿼리문 재사용 sql과 include

멍목 2022. 10. 31. 18:31
반응형

부서에서 운영중인 솔루션에서 조회 메뉴를 개발하는데, include를 사용하여 진행했다.

 

oracle의 경우 페이징 처리를 진행할 때,

 

1. count쿼리로 총 갯수를 확인한 다음

2. 본 쿼리에서 페이징을 넣어 데이터를 조회한다.

 

이 때, 본 쿼리와 count쿼리의 조건절은 같아야 하는데 같은 쿼리를 2번 사용하면 유지보수 하기 힘들기 때문에 include를 이용해서 개발하였다.

 

include 사용 방법은 아래와 같다.


1. sql 태그로 재사용할 쿼리를 작성한다.

  <sql id="whereCondition">
    WHERE     STATUS = 'Y'       
  </sql>

 

 

2. 사용할 쿼리에서 include 태그를 이용해서 쿼리를 호출한다. (refid에 sql ID를 넣는다.)

  <select id="example1">
    SELECT  *
    FROM    EXAMPLE
    <include refid="whereCondition"/>
  </select>

 

example1 쿼리를 호출할 때 자동으로 whereCondition 쿼리가 호출된다.

 

 

참고) 다른 sqlMap 파일에서 참조하려는 경우, 먼저 참조를 해야한다.

반응형