Triedenie výsledkov dopytu s jarnými údajmi

1. Úvod

V tejto príručke sa chystáme Naučte sa, ako zoradiť výsledky dotazu s údajmi z jari.

Najskôr sa pozrieme na schému údajov, ktoré chcú vyhľadávať a triediť.

A potom sa ponoríme priamo do toho, ako dosiahnuť tieto jarné údaje.

Začnime!

2. Skúšobné údaje

Ďalej uvádzame niekoľko príkladov údajov. Aj keď sme to tu predstavili ako tabuľku, na jej udržanie by sme mohli použiť ktorúkoľvek z databáz podporovaných Spring Data.

Otázka, na ktorú chceme odpovedať, je: „Kto obsadzuje ktoré miesto v leteckej spoločnosti?“ ale aby to bolo užívateľsky príjemnejšie, chceme ich triediť podľa čísla sedadla.

Krstné menoPriezviskoČíslo sedadla
JillSmith50
EvaJackson94
FredBloggs22
RickiBobbie36
SiyaKolisi85

3. Doména

Ak chcete vytvoriť jarné úložisko údajov, musíme poskytnúť doménovú triedu a typ id.

Tu sme modelovali nášho cestujúceho ako entitu JPA, ale rovnako ľahko sme ho mohli modelovať ako dokument MongoDB alebo akúkoľvek inú abstrakciu modelu:

@Entity class Passenger {@Id @GeneratedValue @Column (nullable = false) private Long id; @Basic (voliteľné = false) @Column (nullable = false) súkromný reťazec firstName; @Basic (voliteľné = false) @Column (nullable = false) súkromný reťazec priezvisko; @Basic (voliteľné = false) @Column (nullable = false) private int seatNumber; // konštruktor, getri atď.}

4. Triedenie podľa jarných údajov

Máme k dispozícii niekoľko rôznych možností triedenia pomocou Spring Data.

4.1. Triedenie podľa Zoradiť podľa Kľúčové slovo metódy

Jednou z možností by bolo použiť deriváciu metódy Spring Data, pričom dopyt sa vygeneruje z názvu metódy a podpisu.

Všetko, čo musíme urobiť, aby sme triedili naše údaje, je zahrnutie kľúčového slova Zoradiť podľa v našom názve metódy spolu s názvami vlastností a smerom (Asc alebo Desc), podľa ktorého ich chceme zoradiť.

Túto konvenciu môžeme použiť na vytvorenie dotazu, ktorý vráti našich cestujúcich vzostupne podľa čísla sedadla:

rozhranie PassengerRepository rozširuje JpaRepository {List findByOrderBySeatNumberAsc (); }

Toto kľúčové slovo môžeme tiež kombinovať so všetkými štandardnými názvami metód Spring Data.

Pozrime sa na príklad metódy, ktorá vyhľadáva cestujúcich podľa priezviska a objednávky podľa čísla sedadla:

Zoznam findByLastNameOrderBySeatNumberAsc (reťazec priezvisko);

4.2. Triedenie podľa a Triediť Parameter

Našou druhou možnosťou je zahrnúť a Triediť parameter s uvedením názvu (-ov) vlastnosti a smeru, podľa ktorého chceme triediť:

Zoznam cestujúcich = repository.findAll (Sort.by (Sort.Direction.ASC, "seatNumber"));

V tomto prípade používame findAll () metóda a pridanie Triediť možnosť pri volaní.

Tento parameter môžeme pridať aj do novej definície metódy:

Zoznam findByLastName (reťazec priezviska, zoradenie podľa zoradenia);

Nakoniec, ak možno stránkujeme, môžeme určiť náš druh v a Stránkovateľné objekt:

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

5. Záver

Máme dve ľahké možnosti triedenia údajov pomocou Spring Data prostredníctvom odvodenia metódy pomocou Zoradiť podľa kľúčové slovo alebo pomocou Triediť objekt ako parameter metódy.

Ako vždy, kód nájdete na GitHub.


$config[zx-auto] not found$config[zx-overlay] not found