반응형
Spring Data JPA의 페이징 처리
Spring Data JPA의 페이징 처리를 사용하면 별도의 페이징 처리를 구현할 필요가 없다.
📌 주요 객체
주요 객체는 Model에 담겨서 전달된다.
1. Page<T>
- 페이징 조회 결과를 표현하는 인터페이스
- 주요 메소드
1)int getTotalPages()
- 총 페이지 갯수 반환
int getTotalElements()
- 총 데이터 갯수 반환
int getNumber()
- 현재 페이지번호 반환
int getSize()
- 페이지당 데이터 갯수 반환
int getNumberOfElements()
List<T> getContent()
- 현재 페이지의 데이터(조회결과) 반환
boolean hasContent()
- 현재 페이지에서 조회한 데이터가 있을 경우 true 반환
boolean isFirst()
- 첫번째 페이지인 경우 true 반환
boolean isLast()
- 마지막번째 페이지인 경우 true 반환
boolean hasPrevious()
- 이전 데이터가 있을 경우 true 반환
boolean hasNext()
- 다음 데이터가 있을 경우 true 반환
- 총 페이지 갯수 반환
2. Pageable
- 페이징 조회에 필요한 정보를 표현하는 인터페이스
3. PageRequest
- Pageable 인터페이스를 구현한 클래스
- PageRequest를 이용해서 페이징 조회에 필요한 정보가 포함된 Pageable 객체를 생성한다.
- 주요 메소드
1)Pageable of(int page, int size)
- 0부터 시작하는 페이지번호와 한 페이지에 표시할 데이터 갯수가 포함된 Pageable 객체를 반환한다. 데이터가 정렬되지 않는다.
Pageable of(int page, int size, Sort sort)
- 페이지번호, 갯수, 정렬 관련 정보가 포함된 Pageable 객체를 반환한다.
Pageable of()
- 반환
Pageable of()
- 반환
- 0부터 시작하는 페이지번호와 한 페이지에 표시할 데이터 갯수가 포함된 Pageable 객체를 반환한다. 데이터가 정렬되지 않는다.
< 해당 글은 velog에서 이전하며 옮겨온 글로, 가독성이 좋지 않을 수 있는 점 양해 부탁드립니다. >
🔗 velog 버전 보기 : https://velog.io/@ryuneng2/Spring-Spring-Data-JPA의-페이징-처리
'BackEnd > Spring' 카테고리의 다른 글
[Spirng JPA] 단방향/양방향 연관관계 (0) | 2025.01.19 |
---|---|
[Spring] form태그 하나로 등록, 수정 함께 컨트롤하기 (0) | 2025.01.19 |
[Spring] Thymeleaf로 데이터를 출력하는 법, 표현식 유틸리티 객체 (1) | 2025.01.18 |
[Spring] Spring Data JPA 설정 - 정의한 JPA Entity 클래스로 테이블 자동 생성되도록 설정하기 (1) | 2025.01.18 |
[Spring] Spring Data JPA 연관관계 어노테이션 @ManyToOne (0) | 2025.01.18 |