Persistenz. Ralf Gitzel

Ähnliche Dokumente
Persistenz. Ralf Gitzel

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Enterprise Java Beans Einführung

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Übungsaufgabe Transaktion als Middleware

Eclipse und EclipseLink

Referent: Marko Modsching. Vortrag: JPA mit Hibernate. Datum: Deutsche Software Engineering & Research GmbH

FH LU JEE Vorlesung SS Ralf Gitzel

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel

Java Persistence API 2.x. crud + relationships + jp-ql

FH LU JEE Vorlesung SS Ralf Gitzel

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

JDO Java Data Objects

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

Softwareentwicklung mit Enterprise JAVA Beans

Hibernate Das Praxisbuch für Entwickler

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel

Behandelt Java EE 6. O Reillys Taschenbibliothek. Java EE. kurz & gut. Arun Gupta O REILLY. Übersetzung von Thomas Demmig

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Development auf der Plattform SAP HANA

Es geht also um die sogenannte SQL- Data Definition Language.

Einführung. Ralf Gitzel

5. Übung zu Software Engineering

JSF Basics. Ralf Gitzel

Fortgeschrittene Servlet- Techniken. Ralf Gitzel

Programmierung von Client/Server- Anwendungen


Praktikum Spring MVC Spring integrieren In der pom.xml Einträge für Spring hinzufügen.

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

10. Datenbank Design 1

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Hibernate. Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen. Nabil janah 1 Hibernate

Universität Augsburg, Institut für Informatik SS 2008 Prof. Dr. W. Kießling 15. Mai Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 5 & 6

Entwickler-Handbuch EPC Analyser

Softwareentwicklung mit Enterprise JAVA Beans

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Datenmanagement in Android-Apps. 16. Mai 2013

Programmierung von Java- Webanwendungen. paluno

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo.

Gregor Raschke 2008 HIBERNATE. Eine Einführung

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Changelog objectif 7.0 Service Pack 3

Einführung in das Eclipse Modeling Framework. 5. November 2014

Komponentenorientierte Software-Entwicklung. Seite 1 / 44

Web-Anwendungsentwicklung mit dem Delivery Server

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

Java Beans Enterprise Java Beans. Eine kurze Einführung in die Welt der Bohnen

Mit Java von der Datenbank in den Browser Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart

Enterprise JavaBeans Überblick

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst

WildFly Application Server Administration

Java Persistence mit Hibernate

A Datenbanken. A.1 Firebird. A.1.1 Installation des Servers. A.1.2 Installation der Beispieldatenbanken. Datenbanken 1

Der IBM Websphere Portalserver

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag

Übungen zum Workshop Objektrelationales Mapping mit JPA 2.0

Die Warenkorbfunktion (workbasket)

Enterprise Java Beans

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Web 2.0 Software-Architekturen

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Praktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets -

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Geschäftskomponenten mit EJB 3.1

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak

Enterprise JavaBeans Überblick

Einstieg in die Informatik mit Java

Konzeptueller Entwurf

EJB jar.xml und Name Service (JNDI)

Programmieren II. Objekt-relationales Mapping. Vorlesung 08. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Architektur des agimatec-validation Frameworks

Ruby on Rails. Thomas Baustert Ralf Wirdemann Alternative zur Web-Entwicklung mit Java?

Application Frameworks

XML-Datenaustausch in der Praxis Projekt TOMIS bei der ThyssenKrupp Stahl AG

Android Kurs Online Kurs Entwicklung auf Android-Handys

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Access Verbrecherdatenbank Teil 1

Angewandte Softwareentwicklung Serialisierung

Open-Source Transparente Persistence (keine Interfaces, keine Ober- Klassen) Caching

Spring Dynamic Modules for OSGi Service Platforms

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann -

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS XML Programmierung - Grundlagen PHP Programmierung - Grundlagen...

JAX-RS 2.0 REST mit Java EE 7

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

6.9 Java Server Pages

HINWEISE ZUR ARBEIT IM LABOR

Einstieg in die Informatik mit Java

SINT Rest App Documentation

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik

1 Einführung 1. 2 Einrichten der Arbeitsumgebung 9. 3 Schnelleinstieg in Xcode und Objective-C 25

Transkript:

Persistenz Ralf Gitzel ralf_gitzel@hotmail.de 1

Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2

Übersicht Grundkonzepte Entity Beans Meine erste Entity Entity-Manager Lernziele Übungsaufgabe 3

Grundkonzepte Entities Ralf Gitzel ralf_gitzel@hotmail.de 4

Konzept der Persistenz Persistente Daten sind auch nach Beenden des Programms vorhanden. Sie können bei erneutem Aufruf des Programms wieder rekonstruiert werden. Klassisches Werkzeug für Persistenz ist die relationale Datenbank. 5

EJB Architektur Request Response Web Container View & Controller Servlet EJB Container DB Persistence Provider Model EJB 6

Umsetzung des Datenmodells in Entities EJB 3 Java Persistence API (JPA) Vorraussetzungen: Markierung der Domänenobjekte Eindeutige Identifizierung jedes Objekts (Schlüssel) Definition der Objektbeziehungen Definition von Regeln zum Speichern in/laden aus einer Datenbank 7

Vom Java Objekt zur Entity Java Objekt Annotationen Entity Annotationen Entity mit ORM 8

Meine erste Entity Ralf Gitzel ralf_gitzel@hotmail.de 9

Hinweise Anweisungen zum Konfigurieren der Datenbank (inkl. Anlegen der Tabellen) mit Glassfish finden sich im Anhang In unseren Beispielen gehen wir immer davon aus, dass die Datenbanktabellen bereits existieren 10

Entity Bean Markierung als Entity Eindeutiger Identifikator (d.h. Schlüssel) 11

Eigenschaften einer Entity Muss einen public-konstruktor ohne Parameter haben Kann von anderen Klassen erben Kann abstrakt sein Referenzierte Klassen müssen auch Entities oder serialisierbar sein Anm.: Ist gar kein Konstruktor definiert, so gibt es automatisch einen Public-Konstruktor ohne Parameter. 12

Markierungen für die Variablen @Id: Der Primärschlüssel für dieses Objekt, d.h. der Identifikator @Transient: Wird nicht mit abgespeichert, ist also beim Laden 0, null etc. 13

Datenbanktabelle: Personendaten Tabelle mit Personendaten Nachname Eintrag (Schlüssel) Noch offen: Wie kann ich die Entity auf die Datenbank abbilden? 14

Abbildung auf Datenbank 15

@Table Namen der Tabelle angeben Verwendet man diese Annotation nicht, so wird die Tabelle mit dem gleichen Namen wie die Entity verwendet Optionale Parameter: catalogue, schema, uniqueconstraints 16

@Column name: Name der Spalte in der angegebenen Tabelle Anmerkung: Optionale Annotation - Wenn diese Angabe fehlt wird der Feldname als Spaltenname genommen. 17

Zusammenfassung Entities Entity Id Column Table Klasse Instanzvariable 1 = eindeutiger Identifikator Column Instanzvariable 2 Column Instanzvariable n Entity Annotationen ORM Annotationen 18

EntityManager Nicht klausurrelevant! Ralf Gitzel ralf_gitzel@hotmail.de 19

Rolle des EntityManagers Ein Objekt, das den Zugriff auf die Datenbank erlaubt Hier betrachten wir nur den einfachsten Fall der Anwendung 20

Beispiel Personendaten sollen gespeichert und wieder geladen werden! 21

Datenbank 22

Schritt 1: Entity Manager erzeugen Wird durch Dependency Injection in die SessionBean- Klasse eingefügt 23

Persistence XML <?xml version="1.0" encoding="utf-8"?> <persistence> <persistence-unit name="test"> <jta-data-source>jdbc/sample2</jta-data-source> <properties> </properties> </persistence-unit> </persistence> Name der Datenbank (s. Anhang) unitname Liegt im Verzeichnis META-INF 24

Schritt 2: Daten schreiben Objekt aus Servlet Aufruf des Entity Managers Datei: PersonenQuelle.java (eine Session Bean) 25

Schritt 3a: Daten wieder lesen Daten aus der Tabelle auslesen über Primärschlüssel Datei: PersonenQuelle.java (eine Session Bean) 26

Schritt 3b: Daten wieder lesen Komplexere Abfragen sind möglich Datei: PersonenQuelle.java (eine Session Bean) 27

Gesamtes Beispiel Datei: PersonenQuelle.java (eine Session Bean) 28

Lernziele Ralf Gitzel ralf_gitzel@hotmail.de 29

Lernziele Wie mache ich aus einer Javaklasse eine Entity, wenn ich die Tabelle und die Spaltennamen kenne? Nicht relevant: Enum, Persistence Provider Muss nicht programmiert werden können 30

Übungsaufgabe Ralf Gitzel ralf_gitzel@hotmail.de 31

Aufgabenstellung: Selbstbewertung Wichtiger Hinweis: Diese Aufgabe hat nichts mit Persistenz und EJBs zu tun, sondern nur mit Servlets, dem Hauptthema der Klausur(!) Aufgabe ist nicht ganz einfach, aber eine gute Übung zum Verständnis Hinweis zur Lösung: Man kann bei <c:foreach> auch nur mit begin und end arbeiten (d.h. ohne Liste)! 32

Aufgabenstellung Anwendung erlaubt Eingabe von Kategorien und Punkten in den Kategorien Ergebnis wird als Grafik dargestellt 33

Eingabe 34

Ausgabe 35

Leichtere Variante Geben Sie die Bewertungspunkte als Zahl aus Nach der Zahl soll ein grünes Quadrat erscheinen, wenn Sie 8+ ist, sonst ein weißes 36

Hilfsmittel Grafikelemente: BarElement_green.jpg BarElement_empty.jpg Klasse: Bewertung.java EingabeSeite: StartPage.jsp 37

Musterlösung Grafik setzt sich aus den Blöcken grün und weiß zusammen foreach einsetzen um die Blöcke zu zeichnen (zwei foreach-scheifen) Was soll man hier lernen: Man kann auch den Namen einer geladenen Grafik dynamisch ändern 38