Warsztat Java #17 - Spring Data JPA
What you'll learn
- Zrozumienie koncepcji i architektury Spring Data JPA.
- Znajomość podstawowych interfejsów i konfiguracji Spring Data JPA.
- Tworzenie metod zapytań w Spring Data JPA.
- Użycie Named Queries i Named Native Queries w projektach.
- Definiowanie zapytań za pomocą adnotacji @Query.
- Implementacja paginacji i sortowania w aplikacjach Spring Data JPA.
- Zastosowanie grafów encji oraz techniki zapytań przez przykłady.
- Konfiguracja i zarządzanie migracjami bazy danych za pomocą Flyway.
- Tworzenie i uruchamianie testów jednostkowych i integracyjnych dla warstwy persystencji.
- Zastosowanie zdobytej wiedzy w praktycznych projektach i ćwiczeniach.
Requirements
- Podstawową znajomość języka Java.
- Wiedzę na temat Hibernate i podstaw ORM.
- Podstawowe doświadczenie z frameworkiem Spring.
- Znajomość podstawowych koncepcji programowania obiektowego.
- Podstawową wiedzę na temat SQL.
Description
W tym kursie dowiesz się o kolejnym poziomie abstrakcji, który można wprowadzić korzystając z frameworka Spring. Jest to warsztat w którym będziemy koncentrować się wyłącznie na bazach danych.
Tematyka Warsztatu
Spring with Hibernate
Przykład wykorzystania Spring z Hibernate: Praktyczne zastosowanie Hibernate w projekcie Spring.
Adnotacja @PersistenceContext: Zastosowanie i konfiguracja adnotacji.
Spring Data JPA
Czym jest projekt Spring Data: Wprowadzenie do projektu Spring Data.
Czym jest projekt Spring Data JPA: Definicja i zastosowanie.
Kiedy tego używać i kiedy nie używać: Praktyczne wskazówki.
Interfejsy Spring Data JPA: Omówienie kluczowych interfejsów.
Konfiguracja Spring Data JPA: Jak skonfigurować Spring Data JPA w projekcie.
Query Methods: Tworzenie metod zapytań.
Named Queries i Named Native Queries: Przykłady i zastosowanie.
Adnotacja @Query: Użycie adnotacji @Query do definiowania zapytań.
Query by Example: Technika zapytań przez przykłady.
Entity Graph: Zastosowanie grafów encji.
Spring Data JPA - Paginacja i Sortowanie
Czym jest paginacja: Definicja i znaczenie.
Czym jest sortowanie: Definicja i znaczenie.
Przykłady sortowania i paginacji: Praktyczne zastosowanie.
Paginacja z sortowaniem: Połączenie obu technik.
Spring with Flyway
Zarządzanie schematem bazy danych: Różne metody.
Czym jest Flyway: Definicja i zastosowanie.
Konfiguracja Flyway: Jak skonfigurować Flyway w projekcie.
Migracje z Flyway: Zarządzanie migracjami bazy danych.
Spring Data JPA - Testy warstwy persystencji
Testy jednostkowe: Tworzenie i uruchamianie testów jednostkowych.
Testy integracyjne:
Baza in-memory: Konfiguracja i zastosowanie.
Współdzielona baza danych: Konfiguracja i zastosowanie.
Testcontainers: Użycie Testcontainers do testowania integracyjnego.
Test i Projekt
Test: Zadania sprawdzające zdobytą wiedzę.
Projekt: Praktyczne zastosowanie zdobytej wiedzy w projekcie.
Warsztat ten jest 17. warsztatem w ramach ścieżki Zajavka. Oczywiście możesz go realizować niezależnie od innych moich materiałów.
Baza tego warsztatu została opracowana w Java 17. Testy w tym warsztacie również odnoszą się do Java 17. Będziemy skupiać się na Springu, a nie na nowościach w Javie.
Jeżeli natomiast chodzi o Springa, to część elementów pokazujemy na Spring 5 a część 6. Z twojej perspektywy nie ma to znaczenia, gdyż nowości wprowadzane w Spring 6 i wyżej nie dotyczą tego, czego uczysz się na tym poziomie nauki.
Who this course is for:
- Dla tych, którzy chcą rozszerzyć swoje umiejętności w zakresie pracy z bazami danych i Spring Data JPA.
- Programistów pragnących lepiej zrozumieć, jak wprowadzić kolejny poziom abstrakcji nad Hibernate.
- Osób na poziomie początkującym i średniozaawansowanym, które chcą zdobyć praktyczne umiejętności w zakresie Spring Data JPA.
- Developerów poszukujących wiedzy na temat zarządzania danymi i optymalizacji pracy z użyciem Spring Data JPA.
- Dla osób pracujących z bazami danych, które chcą nauczyć się, jak zintegrować swoje bazy danych z aplikacjami Java przy użyciu Spring Data JPA.
- Specjalistów szukających sposobów na zoptymalizowanie operacji na bazach danych za pomocą nowoczesnych technologii.
- Osób przygotowujących się do pracy w branży IT, pragnących zwiększyć swoje kompetencje i atrakcyjność na rynku pracy.
- Dla studentów kierunków informatycznych, którzy chcą zyskać praktyczne umiejętności w zakresie zarządzania bazami danych i korzystania z Spring Data JPA.
- Pasjonatów programowania, którzy chcą zrozumieć, jak efektywnie zarządzać danymi w aplikacjach Java przy użyciu Spring Data JPA.
Instructors
Zajavka to kompletny, profesjonalny i pasjonujący roczny kurs programowania. Zajavkę stworzyliśmy z myślą o tych, którzy pragną rozpocząć swoją intensywną przygodę z programowaniem i w ciągu 12 miesięcy osiągnąć poziom profesjonalnego programisty Javy. Zacznij naukę od bootcampu od podstaw i kontynuuj ją w warsztatach, które krok po kroku, intensywnie i w ciągu kilku miesięcy przygotują Cię do pełnienia roli profesjonalnego programisty Javy.
Jestem programistą Java z ponad 9 letnim doświadczeniem komercyjnym. Zajmuję się głównie technologiami Java i JVM oraz tworzeniem stron aplikacji webowych wykorzystujących technologie Java, Spring, Kafka. Mam również doświadczenie w tworzeniu aplikacji opartych o React. Stawiam przede wszystkim na ciągły rozwój osobisty, zdobywanie nowych umiejętności i podnoszenie jakości swojej pracy. W swojej karierze zawodowej spędziłem dużo czasu ucząc innych, prowadząc szkolenia i nagrywając materiały wideo w celach edukacyjnych.