오늘 배운 것

 Spring

- Paging & Sorting

JpaRepository 인터페이스의 부모 인터페이스 PagingAndSortingRepository에서는

Page<T> findAll(Pageable pageable);

이라는 페이징 + 소팅 메소드를 지원한다.

 

여기서 pageable에 여러가지 설정이 들어가는데 아래 코드를 보면 좋다.

 
Sort.Direction direction = isAsc ? Sort.Direction.ASC : Sort.Direction.DESC; 
Sort sort = Sort.by(direction, sortBy);

Pageable pageable = PageRequest.of(page, size, sort);//(현재 페이지, 노출될 페이지 수, 정렬방법)
//PageRequest.of(page, size, Sort.Direction.ASC, sortBy); 로도 가능

pageable의 구현체인 PageRequest로 현재 페이지, 노출될 페이지 수, 정렬방법이 들어가고 따로 sort를 지정하지 않고

PageRequest.of(page, size, Sort.Direction.ASC, sortBy(정렬될 카테고리)) 로 해도 된다.

 

이렇게 구성한 pageable은 쿼리 메소드도 지원해서 활용하면 아주 좋다.

Page<Product> products = productRepository.findAll(pageable);

Page<Product> products = productRepository.findAllByUser(user, pageable);

 

알고리즘

- 프로그래머스 : 하노이의 탑(Level 2, 재귀)

느낀 점

.

'TIL' 카테고리의 다른 글

[23.11.21]  (0) 2023.11.21
[23.11.20]  (0) 2023.11.20
[23.11.16]  (0) 2023.11.16
[23.11.15]  (3) 2023.11.15
[23.11.14]  (2) 2023.11.14

+ Recent posts