스프링부트 페이지 처리

wjd15sheep·2024년 8월 2일
0

Spring Boot

목록 보기
9/19
post-thumbnail

페이징처리

페이징이란 데이터베이스의 레코드를 개수로 나눠 페이지를 구분하는 것

  • 레코드 필드(field)의 집합으로, 데이터로 다루어지는 단위. 처리의 기본 단위라 할 수 있음. 이 레코드의 집합 단위가 파일(file)임.

페이지 구현하기

JPA에서는 이 같은 페이징 처리를 위해 Page와 Pageable을 사용합니다.

  • 페이징 처리를 위한 쿼리 메서드 예시 (/repository.java)

    Page findByName(String name, Pageable pageable);

리턴 타입으로 Page를 설정하고 매개변수에는 Pageable 타입의 객체를 정의합니다.

  • 페이지 쿼리 메서드를 호출하는 방법

    Page productPage = productRepository.findByName(”펜”, PageRequest.of(0, 2));

pageable 파라미터를 전달하기 위해 PageRequest 클래스를 사용합니다.

PageRequest

PageRequest는 of 메서드를 통해 PageRequest 객체를 생성합니다.

of 메서드는 매개변수에 따라 다양한 형태로 오버로딩돼 있는데 다음과 같은 조합입니다.

of 메서드매개변수 설명비고
of(int page, int size)페이지 번호(0부터 시작), 페이지당 데이터 개수데이터를 정렬하지 않음
of(int page, int size, Sort)페이지 번호, 페이지당 데이터 개수, 정렬sort에 의해 정렬
of(int page, int size, Direction, String… properties)페이지 번호, 페이지당 데이터 개수, 정렬 방향, 속성(칼럼)Sort.by(direction, properties)에 의해 정렬

Page 객체의 데이터 출력

Page productPage = productRepository.findByName(”펜”, PageRequest.of(0, 2));

System.out.println(productPage.getContent());

getContent() 메서드를 사용해 출력하면 배열 형태로 값이 출력됩니다.


[참조]

  • 스프링부트 핵심가티드 - 장정우 지음
profile
성장 위해 노력하는 웹 개발자 주니어

0개의 댓글