반응형
13. 응용 예제(페이지 나누기)
13.1 페이지 나누기
13.1.1 MySQL에서 페이지 나누기를 하는 방법
13.1.2 오라클에서 페이지 나누기를 하기 위해서는 복잡한 SQL 문장을 작성해야 함
SELECT *
FROM
(
SELECT A.*, rownum AS rn
FROM
(
SELECT empno, ename
FROM test
ORDER BY empno
) A
)
WHERE rn BETWEEN 1 AND 10;
13.1.3 페이지 나누기 계산 방식
- 페이지당 게시물수: 10개
- 전체 게시물수: 991개
- 몇 페이지? : 100페이지
991 / 10 → 99.1 올림 → 100 - 페이지의 시작번호, 끝번호 계산
WHERE rn BETWEEN 1 AND 10
1페이지 → 1 ~ 10
2페이지 → 11 ~ 20
....
11페이지 → 101 ~ 110
57페이지 → 561 ~ 570
99페이지 → 981 ~ 990
100페이지 → 991 ~ 1000
시작번호 = (현재페이지 - 1) * 페이지당게시물수 + 1
1페이지 → (1 - 1) * 10 + 1 → 1
2페이지 → (2 - 1) * 10 + 1 → 11
7페이지 → (7 - 1) * 10 + 1 → 61
끝번호 = 시작번호 + (페이지당게시물수 - 1)
1페이지 → 1 + (10 - 1) → 10
2페이지 → 11 + (10 - 1) → 20
* 전체 페이지 블록수
전체페이지갯수 / 10
31 / 10 → 3.1 → 4개 블록
1 2 3 4 5 6 7 8 9 10 [다음]
[이전] 11 12 13 14 15 16 17 18 19 20 [다음]
[이전] 21 22 23 24 25 26 27 28 29 30 [다음]
[이전] 31
13.2 페이지 나누기 실습 예제
13.2.1 pagination.sql
13.2.2 /page/index.jsp
13.2.3 page.PageController.java
13.2.4 page.Pager.java
11.2.5 page.EmpDTO.java
11.2.6 page.EmpDAO.java
11.2.7 sqlMapConfig.xml에 alias 추가
11.2.8 sqlMapConfig.xml에 mapper 추가
11.2.8 emp.xml
반응형