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 Generics, innere Klassen
10 Die Klassenbibliothek
11 Threads und nebenläufige Programmierung
12 Datenstrukturen und Algorithmen
13 Raum und Zeit
14 Dateien und Datenströme
15 Die eXtensible Markup Language (XML)
16 Grafische Oberflächen mit Swing
17 Grafikprogrammierung
18 Netzwerkprogrammierung
19 Verteilte Programmierung mit RMI und Web–Services
20 JavaServer Pages und Servlets
21 Applets
22 Midlets und die Java ME
23 Datenbankmanagement mit JDBC
24 Reflection und Annotationen
25 Logging und Monitoring
26 Sicherheitskonzepte
27 Java Native Interface (JNI)
28 Dienstprogramme für die Java-Umgebung
Stichwort

Download:
- ZIP, ca. 14,1 MB
Buch bestellen
Ihre Meinung?

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

Java ist auch eine Insel (8. Aufl.)
8., aktual. Auflage, geb., mit DVD
1.475 S., 49,90 Euro
Galileo Computing
ISBN 978-3-8362-1371-4
Pfeil 23 Datenbankmanagement mit JDBC
Pfeil 23.1 Das relationale Modell
Pfeil 23.2 Datenbanken und Tools
Pfeil 23.2.1 HSQLDB
Pfeil 23.2.2 Weitere Datenbanken
Pfeil 23.2.3 Eclipse-Plugins zum Durchschauen von Datenbanken
Pfeil 23.3 JDBC und Datenbanktreiber
Pfeil 23.3.1 Treibertypen
Pfeil 23.3.2 JDBC-Versionen
Pfeil 23.4 Eine Beispielabfrage
Pfeil 23.4.1 Schritte zur Datenbankabfrage
Pfeil 23.4.2 Client für HSQLDB-Datenbank
Pfeil 23.5 Mit Java an eine Datenbank andocken
Pfeil 23.5.1 Der Treiber-Manager
Pfeil 23.5.2 Den Treiber laden
Pfeil 23.5.3 Eine Aufzählung aller Treiber
Pfeil 23.5.4 Log-Informationen
Pfeil 23.5.5 Verbindung zur Datenbank auf- und abbauen
Pfeil 23.5.6 DataSource
Pfeil 23.5.7 Gepoolte Verbindungen
Pfeil 23.6 Datenbankabfragen
Pfeil 23.6.1 Abfragen über das Statement-Objekt
Pfeil 23.6.2 Ergebnisse einer Abfrage in ResultSet
Pfeil 23.6.3 Java und SQL-Datentypen
Pfeil 23.6.4 Unicode in der Spalte korrekt auslesen
Pfeil 23.6.5 Eine SQL-NULL und wasNull() bei ResultSet
Pfeil 23.6.6 Wie viele Zeilen hat ein ResultSet?
Pfeil 23.7 Die Ausnahmen bei JDBC
Pfeil 23.8 Elemente einer Datenbank hinzufügen und aktualisieren
Pfeil 23.8.1 Batch-Updates
Pfeil 23.9 ResultSets in Bohnen durch RowSet
Pfeil 23.9.1 Die Schnittstelle RowSet
Pfeil 23.9.2 Implementierungen von RowSet
Pfeil 23.9.3 Der Typ CachedRowSet
Pfeil 23.9.4 Der Typ WebRowSet
Pfeil 23.10 Vorbereitete Anweisungen (Prepared Statements)
Pfeil 23.10.1 PreparedStatement-Objekte vorbereiten
Pfeil 23.10.2 Werte für die Platzhalter eines PreparedStatement
Pfeil 23.11 Transaktionen
Pfeil 23.12 Metadaten
Pfeil 23.12.1 Metadaten über die Tabelle
Pfeil 23.12.2 Informationen über die Datenbank
Pfeil 23.13 Einführung in SQL
Pfeil 23.13.1 Ein Rundgang durch SQL-Abfragen
Pfeil 23.13.2 Datenabfrage mit der Data Query Language (DQL)
Pfeil 23.13.3 Tabellen mit der Data Definition Language (DDL) anlegen
Pfeil 23.14 Zum Weiterlesen


Galileo Computing - Zum Seitenanfang

23.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 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

23.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 lässt sich in zwei Modi fahren: als eingebettetes Datenbanksystem und als Netzwerkserver. Im Fall eines eingebauten Datenbanksystems ist lediglich die Treiberklasse 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 File Exit. 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

23.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-4.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 lauffä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 23.1 Auswählen einer Datenbank


Galileo Computing - Zum Seitenanfang

23.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 die Eclipse IDE for Java EE Developers ohnehin schon installiert sein sollte, 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

Wir öffnen 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: Ort der Jar-Datei. Über Browse wählen wir die Datei hsqldb.jar aus
  • Connection URL: die 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 23.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 Abfragen starten, etwa mit:

SELECT * FROM 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.)

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.

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



Ihr Kommentar

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






<< zurück
  Zum Katalog
Zum Katalog: Java ist auch eine Insel





Java ist auch eine Insel
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Tipp
Zum Katalog: Coding for Fun





 Coding for Fun


 Buchempfehlungen
Zum Katalog: Objektorientierte Programmierung





 Objektorientierte
 Programmierung


Zum Katalog: Einstieg in Eclipse 3.4






 Einstieg in
 Eclipse 3.4


Zum Katalog: Java 6 lernen mit Eclipse






 Java 6 lernen
 mit Eclipse


Zum Katalog: NetBeans Platform 6






 NetBeans
 Platform 6


Zum Katalog: Java und XML






 Java und XML


Zum Katalog: Visual C# 2008






 Visual C# 2008


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: C++ von A bis Z






 C++ von A bis Z


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2009
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