반응형
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 |