Allgemein

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.

Treibertypen

Die Verbindung zu einer Datenbank über JDBC erfolgt über Treiber. Diese Treiber lassen sich in 4 Kategorien einordnen.

Typ-1-Treiber: JDBC-ODBC Brücke

Typ-2-Treiber: Native-API Treiber Spezifikation

Typ-3-Treiber: Netzwerk-Protokol Treiber

Typ-4-Treiber: Native-Protokol Treiber

Verbindung zur Datenbank

Um eine Verbindung zu einer Datenbank über JDBC herzustellen stehen zwei Möglichkeiten zur Verfügung:

  1. Über einen java.sql.DriverManager
  2. Über eine 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.

DriverManager

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","");
itmapa.de - X2H V 0.18

Voraussetzung, dass der Treiber geladen werden kann, ist dass das jar (h2.jar) mit dem Datenbanktreiber sich im classpath befindet.

DataSource

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.

SQL-Statements

Über JDBC können drei Arten von SQL-Abfrage abgesetzt werden:

  • Statement
  • PreparedStatement
  • CallableStatement

http://de.wikipedia.org
Java Database Connectivity
http://de.wikipedia.org/wiki/JDBC

http://en.wikipedia.org
JDBC driver Flagge Großbritanien
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