오라클 페이징처리1

Hwawon_2·2022년 4월 11일
0

페이징 처리는 게시판의모든 글을 보여주지 않고 n개씩 끊어서 보여주는 처리를 의미합니다.
오라클 sql에서는 rownum(줄번호) 이라는 개념을 이용해 처리 합니다.

재귀복사 하는법


하고
commit; 해줘야함

글 조회하기 힌트

힌트는 어떤것을 정렬시킬지 적는다.

예전에는

이렇게 작성했을때 오래걸렸는데 (지금은 아님 )

ㄴ 이방법이 더 효율적


이렇게 작성하면
rownum, rowid가 boaord_tbl에 추가됨
그리고 내림차순이 되는 이유는 힌트에 DESC가있어서 내림차순으로 나옴
ROWID는 메모리에 저장된 주소
ROWNUM는 board_tbl을 조회했을때 마지막으로 결정되는 순번

페이징 처리는 rowNum 기준으로함


rownum을 이용해 페이지 네이션 구문을 작성해보겠습니다.


이 구문은 rownum이 20번 미만인 자료만 스캔하는 자료
만약 페이지장 10개의 글이 있다면 2페이지 분량의 글을 스캔하는것
20번까지 얻은 구문을 먼저 구해놓고, 서브쿼리 형태로 감쌉니다
서브쿼리 형태

2페이지에 해당하는 글이 나온다

(안쪽 쿼리 : 페이지 번호 글개수
바깥쪽 쿼리 : 페이지 번호-1
글갯수
로만 쿼리문을 처리해주면 맞는 페이지번호대로 얻어 올 수 있다.)


BoardController에서 pageNum을 받아준다.

쿼리문에 보내기 위해서
BoardMapper.java

(.getList(pageNum)형식으로 호출하게 해준다)
long pageNum을 넣고 .getList에 넣어준다.
그리고
BoardMapper.xml getList를 수정해준다.

결과

/boardList?pageNum=페이지 치면 그 페이지동 이동하면 성공!

profile
코딩 일기장

0개의 댓글