Вы можете использовать Pageable
или PagingAndSortingRepository<T, ID>
для выполнения ваших требований.Расширив PagingAndSortingRepository,
, мы получим методы f indAll(Pageable pageable)
и findAll(Sort sort)
для подкачки и сортировки.
Как только мы получим наш репозиторий, расширяющийся от PagingAndSortingRepository, нам просто нужно:
- Создать или получить объект PageRequest, который является реализацией интерфейса Pageable
- Передайте объект PageRequest в качестве аргумента методу репозитория, который мы намереваемся использовать
Пример:
public interface ProductRepository extends PagingAndSortingRepository<Product, Integer> {
List<Product> findAllByPrice(double price, Pageable pageable);
}
Pageable firstPageWithTwoElements = PageRequest.of(0, 2);
Pageable secondPageWithFiveElements = PageRequest.of(1, 5);
Page<Product> allProducts = productRepository.findAll(firstPageWithTwoElements);
List<Product> allTenDollarProducts =
productRepository.findAllByPrice(10, secondPageWithFiveElements);
Документ подкачки и сортировки См. 1 См. 2