Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Sprachbeschreibung
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Mathematisches
6 Eigene Klassen schreiben
7 Angewandte Objektorientierung
8 Exceptions
9 Die Funktionsbibliothek
10 Threads und nebenläufige Programmierung
11 Raum und Zeit
12 Datenstrukturen und Algorithmen
13 Dateien und Datenströme
14 Die eXtensible Markup Language (XML)
15 Grafische Oberflächen mit Swing
16 Grafikprogrammierung
17 Netzwerkprogrammierung
18 Verteilte Programmierung mit RMI und Web-Services
19 JavaServer Pages und Servlets
20 Applets
21 Midlets und die Java ME
22 Datenbankmanagement mit JDBC
23 Reflection und Annotationen
24 Logging und Monitoring
25 Sicherheitskonzepte
26 Java Native Interface (JNI)
27 Dienstprogramme für die Java-Umgebung
A Die Begleit-DVD
Stichwort

Download:
- ZIP, ca. 12,5 MB
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Java ist auch eine Insel von Christian Ullenboom
Programmieren mit der Java Standard Edition Version 6
Buch: Java ist auch eine Insel

Java ist auch eine Insel
7., aktualisierte Auflage
geb., mit DVD (November 2007)
1.492 S., 49,90 Euro
Galileo Computing
ISBN 978-3-8362-1146-8
Pfeil 22 Datenbankmanagement mit JDBC
Pfeil 22.1 Das relationale Modell
Pfeil 22.2 Datenbanken und Tools
Pfeil 22.2.1 HSQLDB
Pfeil 22.2.2 Weitere Datenbanken
Pfeil 22.2.3 Eclipse-Plugins zum Durchschauen von Datenbanken
Pfeil 22.3 JDBC und Datenbanktreiber
Pfeil 22.3.1 Treibertypen
Pfeil 22.3.2 JDBC-Versionen
Pfeil 22.4 Eine Beispielabfrage
Pfeil 22.4.1 Schritte zur Datenbankabfrage
Pfeil 22.4.2 Client für HSQLDB-Datenbank
Pfeil 22.5 Mit Java an eine Datenbank andocken
Pfeil 22.5.1 Der Treiber-Manager
Pfeil 22.5.2 Den Treiber laden
Pfeil 22.5.3 Eine Aufzählung aller Treiber
Pfeil 22.5.4 Log-Informationen
Pfeil 22.5.5 Verbindung zur Datenbank auf- und abbauen
Pfeil 22.5.6 DataSource
Pfeil 22.5.7 Gepoolte Verbindungen
Pfeil 22.6 Datenbankabfragen
Pfeil 22.6.1 Abfragen über das Statement-Objekt
Pfeil 22.6.2 Ergebnisse einer Abfrage in ResultSet
Pfeil 22.6.3 Java und SQL-Datentypen
Pfeil 22.6.4 Unicode in der Spalte korrekt auslesen
Pfeil 22.6.5 Eine SQL-NULL und wasNull() bei ResultSet
Pfeil 22.6.6 Wie viele Zeilen hat ein ResultSet?
Pfeil 22.7 Die Ausnahmen bei JDBC
Pfeil 22.8 Elemente einer Datenbank hinzufügen und aktualisieren
Pfeil 22.8.1 Batch-Updates
Pfeil 22.9 ResultSets in Bohnen durch RowSet
Pfeil 22.9.1 Die Schnittstelle RowSet
Pfeil 22.9.2 Implementierungen von RowSet
Pfeil 22.9.3 Der Typ CachedRowSet
Pfeil 22.9.4 Der Typ WebRowSet
Pfeil 22.10 Vorbereitete Anweisungen (Prepared Statements)
Pfeil 22.10.1 PreparedStatement-Objekte vorbereiten
Pfeil 22.10.2 Werte für die Platzhalter eines PreparedStatement
Pfeil 22.11 Transaktionen
Pfeil 22.12 Metadaten
Pfeil 22.12.1 Metadaten über die Tabelle
Pfeil 22.12.2 Informationen über die Datenbank
Pfeil 22.13 Einführung in SQL
Pfeil 22.13.1 Ein Rundgang durch SQL-Anfragen
Pfeil 22.13.2 Datenabfrage mit der Data Query Language (DQL)
Pfeil 22.13.3 Tabellen mit der Data Definition Language (DDL) anlegen
Pfeil 22.14 Zum Weiterlesen


Galileo Computing - Zum Seitenanfang

22.2 Datenbanken und Tools Zur nächsten ÜberschriftZur vorigen Überschrift

Vor dem Glück, eine Datenbank in Java ansprechen zu können, steht die Inbetriebnahme des Datenbanksystems. (Für dieses Kapitel ist das der schwierigste Teil.) Nun gibt es eine große Anzahl von Datenbanken – manche frei und Open Source, manche sehr teuer –, sodass sich dieses Tutorial nur auf eine Datenbank beschränkt. Das Rennen macht in dieser Auflage die pure Java-Datenbank HSQLDB, die sehr leicht ohne Administratorrechte läuft und genügend leistungsfähig ist. Da JDBC aber von Datenbanken abstrahiert, ist der Java-Programmcode natürlich auf jeder Datenbank lauffähig.


Hinweis Hinweis Im SDK von Java 6 ist im Unterverzeichnis db, also etwa C:\Programme\ Java\ jdk1.6.0\db, die Datenbank Java DB (http://developers.sun.com/prodtech/javadb/) integriert. Sie basiert auf Apache Derby, dem früheren Cloudscape von IBM.



Galileo Computing - Zum Seitenanfang

22.2.1 HSQLDB Zur nächsten ÜberschriftZur vorigen Überschrift

HSQLDB (http://hsqldb.org/) ist ein pures Java-RDBMS unter der freien BSD-Lizenz. Die Datenbank geht auf Hyersonic SQL zurück. HSQLDB lässt sich in zwei Modi fahren: als eingebettetes Datenbanksystem und als Netzwerkserver. Im Fall eines eingebauten Datenbanksystems ist lediglich die Treiber-Klasse zu laden und die Datenbank zu bestimmen, und schon geht’s los. Wir werden für die folgenden Beispiele diese Variante wählen.

Auf der Download-Seite von SourceForge befindet sich ein Archiv wie hsqldb_1_8_0_8.zip, das wir auspacken, zum Beispiel nach C:\Programme\hsqldb. Unter C:\Programme\ hsqldb\ demo\ befindet sich ein Skript runManagerSwing.bat, das ein kleines Datenbank-Frontend öffnet. Im folgenden Connect-Dialog setzen wir den Typ auf HSQL Database Engine Standalone und die JDBC-URL auf jdbc:hsqldb:file:c:\TutegoDB – der Teil hinter file: gibt also den Pfad zu der Datenbank an. (Liegt die Datenbank im Eclipse Workspace, kann später die absolute Angabe entfallen.)

Nach dem Dialog-OK fügt im Menü Options die Operation Insert Test Data einige Tabellen mit Dummy-Daten ein und führt ein SQL-SELECT aus, das uns den Inhalt der Customer-Tabelle zeigt. Beenden wir anschließend das Swing-Programm mit FileExit. Im Dateisystem hat der Manager jetzt eine .log-Datei angelegt – zu ihr gesellt sich später noch eine .script-Datei –, eine .properties-Datei und eine .lck-Datei.

Für den Datenbankzugriff aus Java ist nur das Archiv hsqldb.jar aus dem lib-Verzeichnis von HSQLDB in den Klassenpfad aufzunehmen.


Galileo Computing - Zum Seitenanfang

22.2.2 Weitere Datenbanken Zur nächsten ÜberschriftZur vorigen Überschrift

Die Anzahl der Datenbanken ist zwar groß, aber es gibt immer wieder Standard-Datenbanken und freie Datenbank-Management-Systeme.

MySQL

MySQL (http://www.mysql.de/) ist ein häufig eingesetzter freier und schneller Open-Source-Datenbank-Server. Er wird oft im Internet in Zusammenhang mit dynamischen Webseiten eingesetzt; das Zusammenspiel Linux, Apache, MySQL, PHP (LAMP-System) ist hoch gelobt. Herausragende Eigenschaften sind die Geschwindigkeit und die Bedienbarkeit. Die MySQL-Datenbank spricht der unter der LGPL stehende JDBC-Treiber MySQL Connector/J (http://dev.mysql.com/downloads/connector/j/) an. Nach dem Entpacken muss das Jar-Archiv des Treibers in den Klassenpfad aufgenommen werden. Er unterstützt die JDBC-3.0 API.

Oracle

Um die Verbreitung weiter zu erhöhen, ist die Firma Oracle dazu übergegangen, eine vollwertige Version zum Download oder als CD freizugeben. Wer den Download nicht scheut, der kann unter http://www.oracle.com/technology/software/products/database/oracle10g/index.html die Version für Windows, Mac OS X, Linux und weitere Unix-Systeme herunterladen.

DB2 Universal Database Express/DB2 Express-C

Von IBM stammt die etwas eingeschränkte, aber freie Version von DB2 mit exzellenter Java-Unterstützung. Unter http://www-306.ibm.com/software/data/db2/express/index.html lässt sich die Datenbank für Windows und Linux herunterladen.

Microsoft SQL Server

Die Datenbank selbst ist zwar nicht frei – die SQL Server 2005 Express Edition einmal ausgenommen –, aber Microsoft bietet unter http://msdn.microsoft.com/data/ref/jdbc/ einen Typ 4 JDBC-Treiber für seinen SQL Server 2000 und SQL Server 2005 an. Der Treiber benötigt Java SE 1.4 und ist auf den Betriebssystemen Windows, Linux, Solaris AIX und HP-UX lauf-fähig.

Microsoft Access

Microsoft Access ist keine freie Software, aber auf vielen Windows-Systemen installiert. Mit Microsoft Access lässt sich mit wenigen Handgriffen eine Datenbank zusammenbauen, die dann anschließend über die JDBC-ODBC-Bridge aus Java zugänglich ist. Viele Anwender haben das Office-Paket von Microsoft zu Hause installiert und so schon eine Datenbank zur Verfügung.

Eine einfache Datenbank ist schnell gebaut: Nach dem Start von Access erscheint automatisch ein Dialog mit dem Eintrag Leere Access-Datenbank. (Alternativ lässt sich eine neue Datenbank unter dem Menüpunkt Datei • Neu... einrichten.) Wir wählen den ersten Eintrag Datenbank und speichern die Datenbank unter einem aussagekräftigen Namen. Access benötigen wir nicht mehr direkt, weil die Kommunikation mit der Datenbank anschließend über den ODBC-Manager läuft. Dieser setzt dann auf dem SQL-Kern von Access auf. Im ODBC-Manager muss dafür die Datenquelle angemeldet werden.

ODBC einrichten und Access damit verwenden

Die meisten Datenbanken öffnen einen TCP/IP-Port und die Programme kommunizieren über ein definiertes Netzwerkprotokoll. Access ist dazu nicht in der Lage, und so muss eine Access-Datenbank als ODBC-Datenquelle bei einer Zentrale angemeldet werden; im nächsten Schritt kommuniziert ein spezieller Java-Datenbanktreiber mit dieser ODBC-Zentrale.

Zum Einrichten gehen wir zunächst in die Systemeinstellungen (StartEinstellungenSystemsteuerung) und suchen ab Windows 2000 im Verzeichnis Verwaltung nach dem Symbol Datenquellen (ODBC). Nach dem Start öffnet sich ein Dialog mit dem Titel ODBC-Datenquellen-Administrator. Wir gehen auf Hinzufügen, um eine neue Benutzer-Datenquelle hinzuzufügen. Im Dialog mit dem Titel Neue Datenquelle erstellen wählen wir den Microsoft Access-Treiber aus und gehen auf Fertigstellen. Ein Dialog öffnet sich, und wir tragen unter Datenquellenname einen Namen für die Datenquelle ein. Darunter können wir in Java später die Datenbank ansprechen. Der Name der Datei hat nichts mit dem Namen der Datenquelle gemeinsam. Optional können wir noch eine Beschreibung hinzufügen. Wichtig ist nun die Verbindung zur physikalischen Datenbank. Im umrandeten Bereich Datenbank aktivieren wir über die Schaltfläche Auswählen einen Datei-Selektor. Hier hangeln wir uns bis zur in Access erstellten Datei durch und tragen sie ein. Nun müssen wir nur noch einige Male OK anklicken, und wir sind fertig. Wenn der Administrator nicht meckert, können wir nun ein JDBC-Programm starten.

Abbildung 22.1 Auswählen einer Datenbank


Galileo Computing - Zum Seitenanfang

22.2.3 Eclipse-Plugins zum Durchschauen von Datenbanken topZur vorigen Überschrift

Es gibt fast genauso viele Tools zum Administrieren von Datenbanken wie Datenbanken selbst. Da aber Eclipse WTP (http://www.eclipse.org/webtools/) ohnehin schon installiert sein sollte (siehe Ende Kapitel 1, »Eclipse Web Tools Platform (WTP)«), nutzen wir dieses als Datenbank-Tool. Andere Eclipse-Plugins sind QuantumDB (http://quantum.sourceforge.net/) oder auch die Standalone-Anwendung SQuirreL (http://squirrel-sql.sourceforge.net/).

Eclipse WTP

Nach der Installation des WTP öffnen wir den Dialog unter FileNewOther...DataSQL Scrapbook Page und geben einen Dateinamen (test) für eine Skriptdatei an. Finish schließt den Dialog, legt eine Datei test.sqlpage an und öffnet diese in einem neuen Editor für SQL-Anweisungen. Zusätzlich aktiviert Eclipse eine neue View Database Explorer.

In der View ist unter Connections das Kontextmenü zu bemühen und New Connection... auszuwählen. Im folgenden Dialog ist links bei den Datenbank-Managern Generic JDBC1.0 auszuwählen. Dann geben wir an:

  • Database: ein beliebiger Name, der nur zur Anzeige dient.
  • JDBC driver class: die Treiberklasse org.hsqldb.jdbcDriver.
  • Class location: Über Browse wählen wir die Datei hsqldb.jar aus.
  • Connection URL: der JDBC-URL für die angelegte Datenbank jdbc:hsqldb:file:c:/TutegoDB.
  • Unter User information geben wir unter User ID »sa« ein, und das Password bleibt leer.

Mit einem Klick auf die Schaltfläche Test Connection bekommen wir die Information, ob alles gut geht oder ob es Probleme mit den Parametern gibt.

Abbildung 22.2 Verbindungsdaten eintragen

Finish schließt den Dialog ab, und nach einer erfolgreichen Verbindung sind in der View die Datenbank sowie ihre Schemas zu sehen.

Arbeiten mit der Scrapbook-Seite

In der Scrapbook-Seite können wir unsere Datenbank mit Leben füllen oder Anfragen starten, etwa mit:

SELECT * FORM Customer;

Die rechte Maustaste, im Scrapbook-Editor gedrückt, bietet im Kontextmenü ein das Skript anstoßendes Run SQL. (Im folgenden Dialog wählen wir Use existing connection.)

Abbildung 22.3 Die drei Views Database Explorer, Data Output und der Editor für das SQL Scrapbook

Wenn wir unsere Beispiele beendet haben, sollten wir im Database Explorer die Verbindung wieder schließen; dazu ist auf unserer Datenbank in der View Database Explorer im Kontextmenü Disconnect zu wählen.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






<< zurück



Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de