Dev/iBatis
[iBatis] 쿼리문 재사용 include
initializerr
2019. 5. 10. 11:13
iBatis에 쿼리를 작성할 때 <sql> 태그와 <include> 태그를 통해 쿼리를 재사용 할 수 있습니다.
상황에 따라 편하게 사용할 수 있을 것 같습니다.
SqlMap.xml에 여러 <statement>에 공통적으로 적용되는 내용이 있을 때.
예를 들어 조회쿼리 시 paging 처리 시 관련 조건이라던 지 [등록일시], [등록자], [수정일시], [수정자]와 같은 시스템 공통 컬럼에 대한 정보와 같이 여러 쿼리에 동일하게 적용되어야 하는 부분일 경우 분할 후 하나로 관리하게 되면 관리에 이점이 있을 것으로 생각됩니다.
SqlMap에 <sql>태그를 이용하여 공통으로 사용할 쿼리의 내용을 작성합니다.
<sql id = "systemCommon">
, SYS_REG_EMP_NO
, SYS_REG_DT
, SYS_CHG_EMP_NO
, SYS_CHG_DT
</sql>
그리고 사용될 쿼리에 위에 공통으로 작성한 <sql>태그를 <include>태그로 삽입 후 refid로 참조하면 됩니다.
<select id="selectInfo" resultClass="map" parameterClass="map">
SELECT
BOARD_NO
, BOARD_TITLE
, BOARD_DESC
<include refid="systemCommon"/>
</select>