Novinka v nabídce
Kód kurzu: GJB_SPRINGDB« Krok zpět

Vývoj databázových aplikací ve Spring frameworku

  • Gopas Java Bootcamp (GJB) je nová rozvíjející se oblast Javovských kurzů v Gopasu, která vznikla jako reakce na potřebu nabízet aktuální Javovská témata. V těchto kurzech se účastníci mohou naučit těm nejmodernějším přístupům programování pod vedením zkušených vývojářů. Jedná se o neautorizované kurzy té nejvyšší kvality. Poznáte je podle prefixu GJB v kódu kurzu. Aktuálně jsou v této oblasti tři nové kurzy GJB_SBREA, GJB_SPRINGDB a GJB_SBREGRA, nicméně brzy očekáváme rozšíření této nabídky.
  • Kurz se zaměřuje na přístup Java aplikací do databáze. V rámci kurzu se probírají různé způsoby implementace s využitím Java Database Connectivity (JDBC), JdbcTemplate, Java Persistence API (JPA), Spring Data a MyBatis. Jsou zde vysvětleny koncepty a důvody nasazení daných přístupů pro vybrané typy aplikací. V první části se implementuje připojení do databáze prostřednictvím JDBC, to se následně zjednoduší pomocí nadstavby od Springu v podobě JdbcTemplate. Další část kurzu je zaměřena na možnosti objektově relačního mapování (standard JPA - implementační framework Hibernate) s ohledem na detailní popis mapování mezi entitními třídami a databázovými tabulkami. Implementují se vybrané Java Persistence Query Language (JPQL) dotazy s ohledem na jejich výkonnost a optimalizaci. Následuje výklad konceptů transakcí včetně jejich propagace a převod JPQL dotazů do Spring Data a představení alternativy v podobě frameworku MyBatis. Vše je završeno přehledem best practices a návrhovými vzory k jednotlivým alternativám.
  •  DatumDnůCena kurzuCena materiálůJazyk výukyLokalita 
    11.8.2020 4 28 800 CZK - Český jazyk GOPAS Praha_GTT (info o GTT)
     
    24.11.2020 4 28 800 CZK - Český jazyk GOPAS Praha_GTT (info o GTT)
     
    11.8.2020 4 28 800 CZK - Český jazyk GOPAS Brno_GTT (info o GTT)
     
    24.11.2020 4 28 800 CZK - Český jazyk GOPAS Brno_GTT (info o GTT)
     
    11.8.2020 4 1 180,00 EUR - Český jazyk GOPAS Bratislava_GTT (info o GTT)
     
    24.11.2020 4 1 180,00 EUR v ceně kurzu Český jazyk GOPAS Bratislava_GTT (info o GTT)
     

    PobočkaDnůCena kurzuCena materiálůITB
    Praha4 28 800 CZK v ceně kurzu 40
    Brno4 28 800 CZK v ceně kurzu 40
    Bratislava4 1 180,00 EUR v ceně kurzu 40

    Požadované vstupní znalosti:

    • Základní znalosti a zkušenosti s jazykem SQL
    • Základní znalosti a zkušenosti s vývojem aplikací v Javě a JDBC

    Metody výuky:

    • Odborný výklad s praktickými ukázkami, cvičení na počítačích.

    Studijní materiály:

    • Tištěné prezentace probírané látky.

    Osnova:

    Úvod do možností přístupu aplikací do databáze

    • Vhodnost různých způsobů přístupu, výhody a nevýhody
    • JDBC, JdbcTemplate
    • JPA, Spring Data
    • MyBatis

    JDBC

    • Rozhraní JDBC, ovladače JDBC
    • Spojení s databází
    • Odesílání SQL příkazů do databáze pomocí PredparedStatement, Statement, ResultSet
    • Spring JdbcTemplate

    JPA

    • Potřeba a vhodnost Object-Relation Mapping (ORM) aplikací
    • Standard JPA
    • Entity, DAO, Repository
    • EntityManager, Persistentní kontext

    Modelování relačních databází s JPA entitami

    • Implementace one-to-one unidirectional a bidirectional vazeb
    • Implementace many-to-one/one-to-many unidirectional a bidirectional vazeb
    • Implementace many-to-many unidirectional a bidirectional vazeb
    • Využití vhodných datových struktur (enums, collections, maps)
    • Pokročilé modelování (inheritance, embeddable classes, composite primary keys)

    Dotazování v JPA (Hibernate frameworku)

    • Úvod do Java Persistence Query Language (JPQL)
    • NamedQuery výhody a nevýhody

    Filtrování výsledků

    • Různé typy JOINů, JOIN FETCH
    • Criteria API
    • Využití kanonického modelu

    Transakce a locking

    • Popis transakčních mechanismů
    • Spring transakce vs Java EE transakce
    • Propagation a isolation transakcí
    • Locking (ReetrantLock, ...)

    Spring Data

    • Nadstavba nad JPA v podobě Spring Data
    • Stránkování (pagination), a řazení (sorting)
    • Spring Repositories
    • Implementace vlastní (custom) Spring Repository
    • Výhody využití Spring Data nad JPA

    MyBatis

    • Možnost využití MyBatisu
    • SQLSessionFactory, SQLSession
    • Mappery
    • Dotazování a dynamické dotazy

    Optimalizace JPA dotazů

    • FetchType Lazy vs Eager
    • Modifikace dotazů k prevenci N+1 problému
    • Využívání cache
    • Vhodné nastavení strategie pro generování primárního klíče
    • Debuggování dotazů, EXPLAIN
    Tištěné nebo elektronické studijní materiály GOPAS

    Cena:
    v ceně kurzu
    Uvedené ceny jsou bez DPH.