JDBC - Datenbanktechnologien

Werbung
JDBC
Datenbanktechnologien
Prof. Dr. Ingo Claÿen
Hochschule für Technik und Wirtschaft Berlin
Eclipse / Protokollierung
Treiber / Datenbankverbindung
Eclipse / Protokollierung
Aufbau Eclipse-Projekt
JDBC Ingo Claÿen
2/11
Eclipse / Protokollierung
Protokollierung mit Ausgabe-Anweisungen
I
I
Einfach Ausgabe-Anweisungen im Programmcode (println)
Nachteile
I Ausgabemedium festgelegt
I Keine Unterscheidung bzgl. Grade der Fehler
I Kein einfaches An- und Ausschalten
JDBC Ingo Claÿen
3/11
Eclipse / Protokollierung
Protokollierung mit log4j
Spezielles Objekt L, das für die Protokollierung zuständig ist.
Konguration in log4j.properties
Zeile 1
Zeile 3
Zeile 4, 5
Zeile 7
Zeile 8, 9
JDBC Ingo Claÿen
Allgemeine Einstellung: Warnings und Ausgabe auf Konsole
Einstellung de.htwberlin.main auf Stufe warn
Einstellung de.htwberlin.utils und test auf Stufe info
Ausgabemedium Konsole
Format der Ausgabe
4/11
Treiber / Datenbankverbindung
Laden des Datenbank-Treibers
Name der Treiber-Klasse für die Oracle-Datenbank
Class.forName lädt Java-Bibiliothek zur Laufzeit
JDBC Ingo Claÿen
5/11
Treiber / Datenbankverbindung
Herstellen einer Verbindung
Verbindungsparameter
Verbindungsaufbau
JDBC Ingo Claÿen
6/11
Treiber / Datenbankverbindung
Einfügen eines Datensatzes
Verbindung wird als Parameter übergeben
I
I
I
SQL-Anweisung als String-Variable
Wenn zu lang für eine Zeile, in Teilstrings aufsplitten
Achtung: Leerzeichen am Ende der Zeile
...anzahlsitze)<hier Leerzeichen>
I
I
Erzeugung SQL-Anweisung: s = c.createStatement()
Ausführung: s.executeUpdate(sql)
JDBC Ingo Claÿen
7/11
Treiber / Datenbankverbindung
Exception-Klasse
ServiceException
Eigene Exception-Klasse
I
I
Erweitert RuntimeException
Wird ausgelöst, wenn der eigene Code bei Überprüfungen auf
Fehlersituationen trit.
JDBC Ingo Claÿen
8/11
Treiber / Datenbankverbindung
Lesen eines Datensatzes
PreparedStatement für Abfragen mit Parameter
I
Setzen des Parameters: ps.setInt(1, rid)
enthält Ergebnismenge, rs = ps.executeQuery()
Steht zu Anfang vor dem ersten Datensatz
Weiterschaltung mit rs.next() und Prüfung, ob (noch) ein
Datensatz vorhanden ist
Löst ServiceException aus, wenn Raum (rid) nicht in DB ist
I ResultSet rs
I
I
I
JDBC Ingo Claÿen
9/11
Treiber / Datenbankverbindung
Domain-Klasse Raum
Für die Umwandlung von Datensätzen in Java-Objekte
JDBC Ingo Claÿen
10/11
Treiber / Datenbankverbindung
Lesen eines Datensatzes und Erzeugung Java-Objekt
I
Erzeugung Raum-Objekt und Befüllung mit Werten aus dem Datensatz
JDBC Ingo Claÿen
11/11
Herunterladen