본문 바로가기
BackEnd/Spring

[Spring JPA] Spring Data JPA의 페이징 처리

by ryuneng 2025. 1. 19.
반응형

Spring Data JPA의 페이징 처리

Spring Data JPA의 페이징 처리를 사용하면 별도의 페이징 처리를 구현할 필요가 없다.


📌 주요 객체

주요 객체는 Model에 담겨서 전달된다.

1. Page<T>

  • 페이징 조회 결과를 표현하는 인터페이스
  • 주요 메소드
    1) int getTotalPages()
    • 총 페이지 갯수 반환

    2) int getTotalElements()
    • 총 데이터 갯수 반환

    3) int getNumber()
    • 현재 페이지번호 반환

    4) int getSize()
    • 페이지당 데이터 갯수 반환

    5) int getNumberOfElements()
    •  
    6) List<T> getContent()
    • 현재 페이지의 데이터(조회결과) 반환

    7) boolean hasContent()
    • 현재 페이지에서 조회한 데이터가 있을 경우 true 반환

    8) boolean isFirst()
    • 첫번째 페이지인 경우 true 반환

    9) boolean isLast()
    • 마지막번째 페이지인 경우 true 반환

    10) boolean hasPrevious()
    • 이전 데이터가 있을 경우 true 반환

    11) boolean hasNext()
    • 다음 데이터가 있을 경우 true 반환


2. Pageable

  • 페이징 조회에 필요한 정보를 표현하는 인터페이스

3. PageRequest

  • Pageable 인터페이스를 구현한 클래스
  • PageRequest를 이용해서 페이징 조회에 필요한 정보가 포함된 Pageable 객체를 생성한다.
  • 주요 메소드
    1) Pageable of(int page, int size)
    • 0부터 시작하는 페이지번호와 한 페이지에 표시할 데이터 갯수가 포함된 Pageable 객체를 반환한다. 데이터가 정렬되지 않는다.

    2) Pageable of(int page, int size, Sort sort)
    • 페이지번호, 갯수, 정렬 관련 정보가 포함된 Pageable 객체를 반환한다.

    3) Pageable of()
    • 반환

    4) Pageable of()
    • 반환

 


< 해당 글은 velog에서 이전하며 옮겨온 글로, 가독성이 좋지 않을 수 있는 점 양해 부탁드립니다. >

🔗 velog 버전 보기 : https://velog.io/@ryuneng2/Spring-Spring-Data-JPA의-페이징-처리