JDBC ist ein Akronym für: Java DataBase Connectivity
JDBC ist eine Schnittstellendefinition für Java zum standadisierten
Zugriff auf Datenbanken.
Sollen konkrete Datenbanken über JDBC angesprochen werden, müssen
diese die JDBC-Schnittstelle datenbankspezifisch bereitstellen.
JDBC ist Bestandteil des JDK. Das Basis-Package für die Schnittstellen
und Klassen von JDBC is java.sql
.
Die Verbindung zu einer Datenbank über JDBC erfolgt über Treiber. Diese Treiber lassen sich in 4 Kategorien einordnen.
Typ-1-Treiber: JDBC-ODBC BrückeUm eine Verbindung zu einer Datenbank über JDBC herzustellen stehen zwei Möglichkeiten zur Verfügung:
java.sql.DriverManager
javax.sqlDataSource
Die wichtigste Aufgabe von DirverManager
und DataSource
ist, ein Objekt vom Typ java.sql.Connection
zu liefern, welches
die Verbindung zur Datenbank hält. Auf diesem Connection
Objekt können die SQL-Statements
zur Kommunikation
mit der Datenbank abgesetzt werden.
Das Connection
-Objekt liefern DirverManager
und DataSource
über eine ihrer getConnection(...)
-Methoden.
Bei der Verwendung des DriverManagers
wird die Verbindung
zur Datenbank direkt im Quelltext programmiert. Der Nachteil dieser Verbindung
ist, dass bei einem Austausch der Datenbank an allen Stellen, wo eine
Verbindund zur Datenbank hergestellt wird, entsprechend angepasst werden muss.
Der Datebanktreiber wird mit Hilfe des Statements Class.forName(...)
geladen. Sofern der Treiber es unterstützt, muss der Datentreiber ab
Java 6 nicht mehr explizit geladen werden.
Das nachfolgende Beispiel zeigt einen Verbinungsaufbau zu einer H2-Datenbank.
Verbunden wird zu einer Datenbank, deren Ort mit der Variable url
angegeben wird. Als "user" wird "sa" ohne Passwort verwendet.
1 Class.forName("org.h2.Driver").newInstance(); 2 Connection connection = DriverManager.getConnection(url,"sa","");
Voraussetzung, dass der Treiber geladen werden kann, ist dass das
jar (h2.jar) mit dem Datenbanktreiber sich im classpath
befindet.
Ein DataSource
-Objekt wird in einem zentralen Namensdienst (JNDI)
verwaltet. Ändert sich die Datenbank, braucht diese nur der zentrale Namensdienst
geändert werden. Programme die auf diese Datenbank zugreifen brauchen
nicht geändert werden.
Über JDBC können drei Arten von SQL-Abfrage abgesetzt werden:
http://de.wikipedia.org
Java Database Connectivity
http://de.wikipedia.org/wiki/JDBC
http://en.wikipedia.org
JDBC driver
http://en.wikipedia.org/wiki/JDBC_driver
Christian Ullenboom Java ist auch eine Insel
Datenbankmanagement mit JDBC
http://openbook.galileocomputing.de/javainsel7/javainsel_22_001.htm