코딩 스터디

Spring data JDBC - pagination 실습

hunm719 2023. 2. 22. 21:24

오늘은 Spring data JDBC를 활용해 pagination을 구현해보았다.

 

 

페이지네이션(Pagination)이란?

  • 예를 들어, 데이터 베이스에 회원 정보가 100건이 저장되어 있는데 클라이언트 쪽에서 100건의 데이터를 모두 요청하는 것이 아니라 한 페이지에 일정 개수 만큼만 나누어서 달라고 요청하는 것을 페이지네이션(Pagination)이라고 함.
  • 즉 page 번호가 1이고, 페이지에 포함되는 데이터의 개수가 10건일 경우, 데이터베이스의 테이블에서는 1 row부터 10 row까지만 조회되어야 함.
  • 만약 page 번호가 2이고, 페이지에 포함되는 데이터의 개수가 10건일 경우, 데이터베이스의 테이블에서는 11 row부터 20 row까지만 조회되어야 함.
  • 그런데 이렇게 조회를 하면 보통 가장 오래된 데이터부터 10건씩 조회되기 때문에 일반적으로 테이블의 row를 역순으로 10건씩 가져와서 최신 데이터부터 조회하는 경우가 대부분임.

 

Spring에서 지원하는 Pagination API(Page, PagingAndSortingRepository)를 활용하니 생각보다 쉽게 풀어낼 수 있었다.

 

 

https://github.com/hunm719/be-homework-jdbc