MyBatis 사용 시, 페이징이나 그리드를 위한 쿼리문 템플릿 예시

 

-- selectData에는 실제 사용될 쿼리문을 사용

<sql id=”selectData”>

 실제 사용될 쿼리문

</sql>

 

-- selectDataList에는 한 페이지에 표시될 내용을 출력

-- ( ※ startNum과 endNum은 VO에 값이 있어야 오류 없이 사용 가능 )

-- 예시 : startNum : 1, endNum : 10이면 총 10개의 row로 구성된 내용을 출력 

<select id=”selectDataList” parameterType=”” resultType=””>

select 

       A.*

    from (

        select rownum rn

          ,A.*

        from (

          <include refid="selectData"/>

          )A

     where 1=1

    ) A

where 1=1

and   rn >=#{startNum} and rn &lt;=#{endNum}

</select>

 

-- selectDataListCount에는 쿼리문에 대한 전체 개수 출력

<select id="selectDataListCount" parameterType="" resultType="int">

    select 

           count(1) cnt 

    from   (

        <include refid="selectData"/>

    )

 </select>