본문 바로가기
JSP/성낙현의 JSP 자바 웹 프로그래밍

JSP, Oracle을 사용한 회원제 게시판(페이징 O)

by k-mozzi 2023. 6. 19.
반응형
Preface

 

이번 장에선 지난 장에서 제작한 회원제 게시판에 페이징 기능을 추가했다.

 

딱히 복잡하거나 어려운 부분은 없어 간단한 쿼리문과 실행 예시만 업로드한다.

 

전체 코드는 깃허브 리파지토리에 저장되어 있다.


 

1. 페이징을 위한 설정

 

 

- 페이징(paging): 목록이 길 때 페이지별로 나눠서 보여주는 기능

 

 

- 페이징을 사용하지 않을 때 발생할 수 있는 문제점

1) 가독성 저하

2) 페이지 로딩 속도 저하

3) DB 과부하

 

 

- 페이징 처리를 위한 설정값

1) 한 페이지에 출력할 게시물의 개수

2) 한 화면(블록)에 출력할 페이지 번호의 개수

 

 

- rownum: 오라클에서 생성된 모든 테이블에서 사용할 수 있는 가상의 컬럼으로, SELECT 쿼리문으로 추출하는 데이터에 순차적으로 부여되는 순번

→ 물리적으로 존재하는 것이 아니므로 DML문을 사용할 수 없다.

SELECT id, pass, rownum FROM member;

 

 

- 페이징 처리용 쿼리문

SELECT * FROM (
	SELECT Tb.* rownum, rNum FROM (
    	SELECT * FROM board ORDER BY num DESC
    ) Tb
)
WHERE rNum BETWEEN 1 and 10;

 

 


 

2. 구현 예시

 

 

- 메인 화면

 

 

※ 전체 코드는 깃허브의 java 디렉토리와 ch9 디렉토리에 업로드되어 있다.

→ 링크: https://github.com/k-mozzi/JSP-WEB-Programming

 

GitHub - k-mozzi/JSP-WEB-Programming

Contribute to k-mozzi/JSP-WEB-Programming development by creating an account on GitHub.

github.com

 

728x90
반응형

댓글