/
혹은 /board/myPost
요청이 오면 요청에 따른 게시글 조회 페이지를 응답할 수 있도록 컨트롤러에 메서드를 생성하고 매핑합니다.페이징 처리 기능 구현 전 Pageable 인터페이스에 대해 먼저 알아보려 합니다.
Pageable은 Spring Data 프로젝트에서 제공하는 인터페이스 중 하나로, 데이터베이스에서 검색 결과를 페이징 처리할 수 있도록 돕는 인터페이스입니다.
Pageable을 사용하면 검색 결과의 일부분만 가져오거나, 특정 페이지를 조회할 수 있습니다. 이를 통해 대량의 데이터를 처리할 때 성능을 향상시킬 수 있습니다.
Spring Data JPA에서 Pageable을 사용하면 다음과 같이 검색 결과를 페이징 처리할 수 있습니다.
Pageable pageable = PageRequest.of(page, size);
Page<Entity> entities = entityRepository.findAll(pageable);
여기서 page
는 검색 결과에서 가져올 페이지 번호를 나타내며, size
는 페이지당 표시할 항목 수를 나타냅니다. Entity
는 검색 결과의 엔티티 클래스이고, entityRepository
는 엔티티의 레파지토리 클래스입니다. 이렇게 하면 요청한 페이지의 결과가 entities
변수에 저장됩니다.
Pageable 인터페이스는 페이징 처리를 위한 getPageNumber()
, getPageSize()
, getOffset()
, getSort()
등의 메서드를 제공합니다.
프로젝트에서 Pageable을 사용하려면, 페이지별 데이터 요청을 처리하는 컨트롤러를 작성하고, 뷰를 업데이트하여 페이징 된 데이터를 표시하고, 데이터베이스에서 페이징 된 데이터를 검색하는 비즈니스 로직을 처리하는 서비스 클래스를 작성해야 합니다. 또한, 레파지토리에 페이징 처리를 위한 메서드를 추가해야합니다.
Pageable
인터페이스는 다음과 같은 메서드를 제공합니다.
int getPageNumber()
: 현재 페이지 번호를 반환합니다.int getPageSize()
: 페이지당 항목 개수를 반환합니다.