[Spring boot] Paging

SMongS·2022년 9월 15일
0

Spring boot

목록 보기
6/6

Paging을 구현해보면서 Pagealbe이라는 인터페이스를 사용해보았습니다.

페이징 컨트롤러

@GetMapping("/post/list")
    public ResponseEntity<BasicResponse> find(@PageableDefault(size = 12) Pageable pageable){
        return postService.postlist(pageable);
    }

기본 응답 형식은 ResponseEntity에 맞추기

컨트롤러 메소드 파라미터에 Pageable만 추가하면 PageRequest 객체를 내부적으로 생성

@PageableDefault(size = ?) 로 파라미터로 받는 size를 고정값으로 받을 수 있음

페이징 서비스

Page<Criteria> criterias = postRepository.findAll(pageable).map(Criteria::from);

레포지토리에서 전부 가져와서 Criteria로 변환

Pageable 인터페이스

페이징을 제공하는 중요한 인터페이스

Pageable 인터페이스의 구현체를 보면 PageRequest 사용하는 것처럼 보임

PageRequest 클래서에서 of 메소드의 변수로 page와 size가 사용

Page 인터페이스

페이징의 findAll()의 기본적인 반환 메서드로 여러 반환 타입 중 하나

⇒ 레포지토리에서 JpaRepository<> 사용할때, findAll() 메서드를 Pageable 인터페이스로 파라미터를 넘기면 페이징을 사용할 수 있음

참고 : https://devlog-wjdrbs96.tistory.com/414

profile
반갑습니당~😄

0개의 댓글