Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij slevové akce 30% výuky zdarma!
Pouze tento týden sleva až 80 % na e-learning týkající se PHP

Lekce 13 - Filmová databáze v Java Spring Boot - Limit počtu výsledků

V předchozí lekci, Filmová databáze v Java Spring Boot - Získávání osob, jsme se naučili, jak se pracuje pokročile s repozitářem a zobrazili jsme si osoby.

V dnešní lekci se naučíme, jak limitovat počet výsledků z databáze. Naučíme se dva způsoby:

  • speciální repozitář pomocí stránkování a poté se podíváme na
  • anotaci @Query, kterou můžeme pro tyto účely rovněž využít.

Motivace

V minulé lekci jsme si řekli, že nám jednoduše repozitář nedovolí jen přes název metody určit, kolik výsledků z databáze chceme. My se ale určitě občas dostaneme do situace, kdy třeba uživatelů na stránce bude přes 1000. A zobrazovat hned 1000 výsledků je pro uživatele, který kouká na nějaký výpis zaregistrovaných, velký problém, jelikož je toho prostě moc a stránka je strašně dlouhá. Nehledě na to, že zatěžujeme i server a databázi.

Proto bychom my, jako programátoři, měli limitovat počet výsledků a ideálně nechat i uživatele vybrat, kolik výsledků na jedné stránce chce. To dělá náš frontend, ale my s tím zatím nepracujeme.

Dnes náš backend toto omezení naučíme a ukážeme si hned několik způsobů, jak jej implementovat.

"Brute force" řešení

Brute force řešení je způsob, jak se řeší problémy velice neefektivně. Je to řešení, které dokáže to, co potřebujeme, ale velice neelegantně z hlediska kódu, využití procesoru či paměti.

V našem případě by Brute force řešení bylo získat všechny výsledky z databáze a tyto výsledky následně oříznout na limit počtu výsledků. Toto rozhodně dělat nebudeme, i když to řešení je, protože bychom mohli přetížit databázi.

Stránkování

Stránkování výsledků je sice určené k něčemu trochu jinému, než jen limitovat jejich počet, ale můžeme jej jednoduše použít. Spousta řešení je stavěná na tomto.

PageablePersonRepository

Pojďme si vytvořit nový repozitář.


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Omezená nabídka: Nauč se vše a ušetři

Koupit lekce a funkce postupně a po jednom 532 bodů
Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za exkluzivní cenu 452 bodů (1 128 Kč)
Na svém účtu máš aktuálně 0 bodů
Koupí tohoto výhodného balíčku získáš přístup ke všem 23 lekcím s kontrolou a certifikací a ještě navíc ušetříš 199 Kč. Nabídka je omezená pouze pro první lekce z kurzu a obsahuje exkluzivní slevu 15%.
452 bodů získáš za přidání svého článku na síť nebo odpovídá 1 327 Kč 1 128 Kč

Pozor, pokud si koupíš pouze tuto lekci, ztratíš nárok na speciální slevu 15% na balíček všech lekcí.

Koupit jen lekci 28 bodů
Na svém účtu máš aktuálně 0 bodů
28 bodů získáš za přidání svého článku na síť nebo odpovídá 70 Kč

Před koupí tohoto článku je třeba koupit předchozí díl

Obsah článku spadá pod licenci Premium III, koupí článku souhlasíš se smluvními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Neomezený a trvalý přístup k jednotlivým lekcím.
  • Kvalitní znalosti v oblasti IT.
  • Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.

Popis článku

Požadovaný článek má následující obsah:

V Java Spring Boot lekci se naučíme limitovat počet výsledků z databáze a také se naučíme novým anotacím a novému typu repozitáře.

Body získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Článek pro vás napsal Tomáš Střecha
Avatar
Autor se věnuje tvorbě backend webových aplikací v Javovém frameworku Spring boot, grafickému vykreslování v C++ společně s pomocí OpenGL.
Aktivity (4)