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 파일에서 참조하려는 경우, 먼저 참조를 해야한다.
반응형