Пагинация в Java Spring Boot - это процесс разделения большого количества данных на более мелкие части для удобства отображения на веб-странице.
Это позволяет уменьшить время загрузки страницы и улучшить производительность приложения.
В Spring Boot пагинация обычно реализуется с помощью классов Pageable и Page, которые предоставляют методы для настройки параметров пагинации, таких как размер страницы и текущая страница, а также методы для получения результатов запроса в виде страницы данных.
Pageable - это интерфейс Spring Data, который представляет параметры страницы, такие как
номер страницы,
размер страницы
сортировку.
Он используется для настройки запросов к базе данных и разбиения результатов на страницы.
Page - это также интерфейс Spring Data, который представляет страницу данных из базы данных.
Он содержит
список объектов
информацию о текущей странице
общем количестве элементов
количестве страниц.
// создание Pageable
Pageable pageable = PageRequest.of(pageNumber, pageSize, Sort.by("name"));
// получение страницы данных из базы данных
Page<User> users = userRepository.findAll(pageable);
// получение информации о странице
int totalPages = users.getTotalPages();
long totalElements = users.getTotalElements();
int pageNumber = users.getNumber();
int pageSize = users.getSize();
boolean hasNext = users.hasNext();
boolean hasPrevious = users.hasPrevious();
// получение списка объектов на странице
List<User> content = users.getContent();