Рубрики
Без рубрики

Сортировка результатов запроса с весенними данными

Узнайте различные способы сортировки результатов в запросах весенних данных.

Автор оригинала: baeldung.

Сортировка результатов запроса с весенними данными

1. Введение

В этом учебнике, мы собираемся узнать, как сортировать результаты запроса с Весенние данные .

Во-первых, мы посмотрим на схему данных, которые хотят запросить и сортировать.

А потом, мы будем нырять прямо в том, как достичь, что весенние данные.

Давайте начнем!

2. Тестовые данные

Ниже приведены некоторые примеры данных. Хотя мы представляли его здесь как таблицу, мы могли бы использовать любую из баз данных, поддерживаемых Spring Data, чтобы сохранить его.

Вопрос, на который мы хотим ответить: «Кто занимает какое место в авиакомпании?», но чтобы сделать это более удобным для пользователей, мы хотим сортировать по номеру места.

кузнец Джилл 50
джэксон канун 94
Блогги Фред 22
Бобби Рикки 36
Колиси Сия 85

3. Домен

Создать Весенний репозиторий данных мы должны предоставить класс домена, а также тип идентификатора.

Здесь мы смояли нашего пассажира как сущность JPA, но мы могли бы так же легко смоделировать его, как документ MongoDB или любую другую абстракцию модели:

@Entity
class Passenger {

    @Id
    @GeneratedValue
    @Column(nullable = false)
    private Long id;

    @Basic(optional = false)
    @Column(nullable = false)
    private String firstName;

    @Basic(optional = false)
    @Column(nullable = false)
    private String lastName;

    @Basic(optional = false)
    @Column(nullable = false)
    private int seatNumber;

    // constructor, getters etc.
}

4. Сортировка с весенними данными

У нас есть несколько различных вариантов в нашем распоряжении для сортировки с Spring Data.

4.1. Сортировка с помощью ключевого слова метода OrderBy

Одним из вариантов было бы использование производного метода Spring Data, при котором запрос генерируется из имени и подписи метода.

Все, что нам нужно сделать здесь, чтобы сортировать наши данные включают ключевые слова Порядок в нашем методе название вместе с названием свойства (ы) и направлением (Asc или Desc), по которому мы хотим сортировать.

Мы можем использовать эту конвенцию для создания запроса, который возвращает наших пассажиров в порядке возрастания по номеру места:

interface PassengerRepository extends JpaRepository {

    List findByOrderBySeatNumberAsc();
}

Мы также можем объединить это ключевое слово со всеми стандартными именами методов Spring Data.

Давайте посмотрим пример метода, который находит пассажиров по фамилии и заказы по номеру места:

List findByLastNameOrderBySeatNumberAsc(String lastName);

4.2. Сортировка с параметром сортировки

Наш второй вариант заключается в том, чтобы включить Сортировать параметр указание имени свойства (ы) и направления, по которому мы хотим сортировать:

List passengers = repository.findAll(Sort.by(Sort.Direction.ASC, "seatNumber"));

В этом случае мы используем findAll () метод и добавление Сортировать вариант при вызове его.

Мы также можем добавить этот параметр в новое определение метода:

List findByLastName(String lastName, Sort sort);

Наконец, если, возможно, мы paging, мы можем указать наш вид в Страница объект:

Page page = repository.findAll(PageRequest.of(0, 1, Sort.by(Sort.Direction.ASC, "seatNumber")));

5. Заключение

У нас есть два простых варианта сортировки данных с помощью Spring Data с помощью методов, полученных с помощью Порядок ключевое слово или использование Сортировать объект в качестве параметра метода.

Как всегда, вы можете найти код более на GitHub .