Back End/SQL
[MyBatis/MariaDB] 페이징 구현하기 2
째린이
2021. 10. 28. 19:50
아래 글과 이어지는 부분입니다~~~
앞단과 서버단은 아래링크에..!!
2021.10.28 - [Back End/Java, Spring] - [Java/Spring] 페이징 구현하기
[Java/Spring] 페이징 구현하기
일일업무보고 게시판(crud) 에 페이징을 한번 구현해보았습니다. 원래 그리드에 있는것만 써왔었는데 이번 기회에 직접 처음부터 구현해보게 되었습니다. jsp 처음 이전 ${i} ${i} 다음 마지막 페이
zzecoding.tistory.com
- mapper.xml
/*******전체 글 갯수 조회*******/ <select id="selectCntReportList" parameterType="vo.ReportVO" resultType="int"> SELECT COUNT(REPORT_ID) AS CNT FROM DAILY_REPORT WHERE 1=1 </select> /**********페이징 조회***********/ <select id="selectPageReportList" parameterType="vo.ReportVO" resultMap="report"> <include refid="reportSqlId"></include> AND A.REPORT_ID > 0 ORDER BY A.REPORT_ID DESC LIMIT #{startRow}, #{pageSize} </select>
LIMIT #{startRow}, #{pageSize} <---요 부분이 핵심!
위의 쿼리는 전체 글의 갯수를 조회한 select문입니다.
결과를 보면 총 82개의 결과가 나온것을 볼 수 있습니다.
그리고 가장중요한 페이징 조회 쿼리를 날려보면~~~~!
컨트롤러에서 가공된 reportVO.setStartRow((reportVO.getCurrPage() - 1) * reportVO.getPageSize()); <--- 이 부분에 의하여 페이징번호 2를 클릭하였을때 #{startRow} = 10이 되고 #{pageSize}는 10!
그렇게해서 10개가 나오는것을 확인할 수 있습니다.
(데이터는 제가 임의로 행복제해서 마구 넣은거라 무시해주세요 ^^;;)
이렇게 페이징을 구현해보았습니다.