본문 바로가기
BackEnd-Study/Spring boot

[springboot, mybatis] pagination

by ChaeLOTUS 2024. 4. 3.
728x90

 

 

프론트에서 page와 size를 넘겨주고 백엔드에서 해당 값들을 받을 때 mybatis에서는 #{} 이런식으로 기재한다.

그리고 parameterType이 kr.library.ar.common.app.ble.bean.UserBleBean이라고 지정해주었기 때문에 해당 bean에 page와 size를 추가해준다.

여기서 이렇게 bean으로 타입을 주면 계속해서 bean에 추가를 해야해서 map을 만들고 map에 추가하는 방법도 있다고 말씀해주셨다.

 

 

    <sql id="PREFIX_PAGING">
        SELECT * FROM (
                SELECT TMP_PAGE.*, ROWNUM ROW_ID FROM (
    </sql>

    <sql id="POSTFIX_PAGING">
        ) TMP_PAGE) PAGE
          WHERE ROW_ID <![CDATA[<=]]> #{endRow} AND ROW_ID > #{startRow}
    </sql>
     <include refid="PREFIX_PAGING" />
     //...
     <include refid="POSTFIX_PAGING" />

 

리스트를 조회하고 싶은 곳에 위 아래에 위의 코드를 적으면 리스트 결과값이 나올 때 페이징에 대한 원하는 값들을 얻을 수 있다.

728x90

댓글