programming/jsp

[JSP] 응용 예제(페이지 나누기)

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