오늘 배운 것
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 |