본문 바로가기
DATABASE

마이바티스(mybatis) 자주 사용되는 쿼리,컬럼 재사용하기

by 개남 2022. 12. 1.

mybatis 사용시 공통적으로 사용되는 쿼리(단순 컬럼명들도 가능)를 정의해두고 가져다가 사용할 수 있습니다. 

사용법

재사용할 쿼리를 먼저 정의하고(sql id)정의한 쿼리를 다른곳에서 가져다가(include refid) 사용하면 됩니다.

<sql id="topQuery"> select aa,bb,cc </sql>

<select id="seletTest" parameterType="test.com.vo.testVo" resultType="test.com.vo.testVo">
<include refid="topQuery"></include>
,dd
,ee 
from TEST

위와 같이 사용하면 aa,bb,cc,dd,ee가 모두 조회되는 쿼리가 완성됩니다.  include는 여러개를 사용할 수 있습니다.

카운트같은 공통으로 필요한 컬럼이 있다면 다음과 같이 사용하면 유용합니다.

<sql id="TopQuery">SELECT cont(*) over as total_cnt, tt.* from ( </sql>
<sql id="bottomQuery">) as tt ( </sql>

<select id="selectMain" parameterType="test.com.vo.testVo" resultType="test.com.vo.testVo">
<include refid="topQuery"></include>
select aa,bb,cc from test
<include refid="bottomQuery"></include>

댓글