[8주차 04] 페이징

개발냥이·2025년 3월 13일

데브코스

목록 보기
26/75
post-thumbnail

페이징

페이징은 가상 메모리를 관리하는 기법으로 가상기억장치에 모두 같은 크기의 블록으로 편성하여 운용하는 기법이다.

하지만 여기서는 위의 페이징 기법보다는

데이터들을 몇개씩 페이지별로 나눠서 보여줄것인가로 사용되었다.


구현해보자

1️⃣ SQL

우선 SQL에서 사용할 수 있는 방법으로는 limit와 offset이 있다.

  • limit : 출력할 행의 수
  • offset : 시작 지점
SELECT * FROM 테이블명 LIMIT 5 OFFSET 10

SELECT * FROM 테이블명 LIMIT 10,5

사용 방법은 다음과 같으며 위의 두 코드는 동일하다

2️⃣Node.JS

let {limit, currentPage} = req.query;

let offset = limit * (currentPage - 1);

let sql = `SELECT * FROM books LIMIT ? OFFSET ?`;

conn.query(
    sql,
  ... 추가 코드 ...

1️⃣의 SQL문을 사용해서 코드를 구현해주면 된다.
요청 쿼리로 limit, currentPage를 받고
시작 위치를 계산해준다음 쿼리를 실행해준다.

도서 출력
http://로컬호스트주소/books/book_list?limit=4&currentPage=1

개별 카테고리 출력
http://localhost:7777/books/book_list?category_id=1&limit=4&currentPage=1

전체 카테고리 출력
http://localhost:7777/books/book_list?limit=4&currentPage=1&new_book=true

기본적으로 limit=4&currentPage=1 이걸 넣어주고
category_id나 new_book같이 추가적인 조건을 넣어주면 된다


profile
웹 개발자가 되고픈

0개의 댓글