Zum Inhalt springen

Ablauf

In diesem fünftägigen Kurs werdet ihr in die Grundlagen der Kommunikation zwischen einer Applikation und einer Datenbank eingeführt. Der Fokus liegt auf der Verwendung von SQL, verschiedenen Datenbanktypen, der Verknüpfung von Daten und der Verwendung von Annotationen. Zudem wird die Integration von relationalen Datenbanken in ein Spring Boot Projekt behandelt, einschliesslich der Verwendung von ORM (Object-Relational Mapping), Entitäten und Schema-Generierung. An den ersten drei Tagen des Kurses wird an einer einfachen Zeiterfassungsapplikation gearbeitet, wobei Ihr die Persistenzschicht und eine Client-Server-Applikation mit HTTP REST-Schnittstelle implementieren. Es werden zudem Themen wie Beispieldatenladen, Transaktionen, Validierung und Testen behandelt.

Die letzten beiden Tage des Kurses sind der Projektarbeit gewidmet, in der Ihr die erlernten Inhalte von Tag 1, 2 und 3 in einem neuen Projekt anwenden. Zusätzlich werden weiterführende Themen wie die Verwendung von Spring Boot mit MongoDB, Diagrammen zur Unterstützung der Entwicklung von Persistenzschichten, Sicherheit von API-Servern und Implementierung von Authentifizierungsmechanismen behandelt. Dadurch erhaltet Ihr eine umfassende Einführung in die Grundlagen und praktische Anwendung von Datenbankkommunikation und -management in Spring Boot-Projekten.

Tag 1: Datenbank in Spring Boot verbinden und erste Modelle erstellen

Abschnitt betitelt „Tag 1: Datenbank in Spring Boot verbinden und erste Modelle erstellen“
  • Ich kann Daten relational in Datenbanken verwalten.
  • Ich plane eine Persistenzschicht.
  • Ich nutze ein ORM um auf relationale Datenbanken zuzugreifen.
  • Ich verstehe die Konzepte “Database first” und “Code first” in Bezug zu einer Persistenzschicht.
StartzeitThemaInhaltTyp
08:15Gemeinsamer Start in den Kurs- Begrüssung
- Überblick über den Tag
- Erwartungsklärung
Plenum
08:30Repetition: Grundlagen Datenbanken- Kommunikation mit einer DB
- SQL, DB-Treiber, Abstraktionen
- Relationale & NoSQL DBs
- Referentielle Integritaet
Plenum + Diskussion
08:50Initialisierung Projekt Zeiterfassung- Arbeitsumgebung vorbereiten
- Lernprojekt für die Tage eins bis drei
Aufgabe
09:30PauseErholen & bewegen
10:00Datenmodellierung mit JPA- ORM
- Annotations
- Database First vs. Code First
Einführung + Aufgabe
11:00CRUD mit ORM- Erstellen, lesen, bearbeiten, löschen mit ORM
- Transaktionsmanagement
Einführung + Aufgabe
11:45🍽️ MittagspauseEntspannen & Energie tanken
13:00Testing- Integrationstest für ServiceklassenEinführung + Aufgabe
14:00Spring Data Repositories- Services mit Repositories ersetzenDemonstration + Aufgabe
14:30PauseKurze Pause zur Erholung
15:00Templates- ThymeleafAufgabe
15:45Controllers- Spring Controllers beschreiben für CRUD OperationenEinführung + Aufgabe
16:30Rückblick & Fragen- Zusammenfassung
- Offene Punkte klaeren
Plenum

Tag 2: Beziehungen zwischen Entitäten, Validierung und erste HTTP-Endpunkte

Abschnitt betitelt „Tag 2: Beziehungen zwischen Entitäten, Validierung und erste HTTP-Endpunkte“
  • Ich validiere die Daten aus dem Formular.
  • Ich setze verschiedene Entitäten in Beziehung.
  • Ich verstehe Client-Server Architekturen.
  • Ich entwickle Schnittstellen zwischen Client und Server.
  • Ich wende das REST-Pattern an.
StartzeitThemaInhaltTyp
08:15Repetition des ersten Kurstags- Begruessung
- Überblick & Zielsetzung
Plenum
08:30Validierung- Java Validation API - Temporale Constraints
- Pattern (Regulaere Ausdruecke)
- Laenge
Vortrag + Auftrag
09:30PauseErholen & bewegen
10:00Entitäten in Relation setzen- One-To-Many
- One-To-One
- Many-To-Many
Einführung + Auftrag
10:45Softwareverteilungsarchitekturen- API-Begriff
- Synchrone vs. Asynchrone APIs
- HTTP & REST-Pattern
Vortrag
11:00REST-API mit Spring Boot- Endpunkte GET, POST, DELETE, PUT
- Parameter empfangen
- Rueckmeldung mit HTTP Status
Auftrag
11:45🍽️ MittagspauseEntspannen & Energie tanken
13:00HTTP APIs pruefen mit Tools- Insomnia
- Hoppscotch…
Demonstration + Auftrag
13:45JSON Serialisierung & Deserialisierung- Von/zu JSON
- Umgang mit zirkulaerer Serialisierung
Einführung
14:30PauseKurze Pause zur Erholung
15:00Benutzeroberfläche (CSR)- Bestehendes UI einbindenAuftrag
16:30Rueckblick & Fragen- Zusammenfassung
- Offene Punkte klaeren
Plenum + Diskussion
  • Ich kann Beispieldaten in meine Datenbank laden.
  • Ich erweitere meine Datenbankabfragen.
  • Ich dokumentiere meine Schnittstellen als OpenAPI.
StartzeitThemaInhaltTyp
08:15Repetition & Einstieg in den Tag- Rückblick auf vorherige Inhalte
- Zielsetzung für den Tag
Plenum + Diskussion
08:30Beispieldaten laden- Daten automatisch in Spring Boot Applikation einfügenEinführung + Auftrag
09:30PauseErholen & bewegen
10:00Anspruchsvollere Abfragen- Komplexere SQL-Statements
- JPQL, Criteria API
Einführung + Aufträge
11:45🍽️ MittagspauseEntspannen & Energie tanken
13:00Pagination und Sortieren- Pageable
- JpaRepository
Einführung + Auftrag
14:00Open APIEinführung + Auftrag
14:30PauseKurze Pause zur Erholung
15:00Puffer / Wiederholung / offene Fragen- Je nach Bedarf: Inhalte vertiefen oder wiederholenPlenum + Wiederholung + Diskussion

Projektarbeit:

Die Inhalte von Tag 1, 2 und 3 werden in einem neuen Projekt trainiert.