Java Database Connectivity

Java Database Connectivity
Basisdaten

EntwicklerSun Microsystems
Aktuelle Version4.3[1]
(21. September 2017[2])
BetriebssystemJava
Programmier­spracheJava
KategorieProgrammierschnittstelle
LizenzGNU General Public License/Java Community Process
oracle.com

Java Database Connectivity (JDBC, englisch für Java Datenbankverbindungsfähigkeit) ist eine Datenbankschnittstelle der Java-Plattform, die eine einheitliche Schnittstelle zu Datenbanken verschiedener Hersteller bietet und speziell auf relationale Datenbanken ausgerichtet ist.

JDBC ist in seiner Funktion als universelle Datenbankschnittstelle vergleichbar mit z. B. ODBC unter Windows oder DBI unter Perl.

Zu den Aufgaben von JDBC gehört es, Datenbankverbindungen aufzubauen und zu verwalten, SQL-Anfragen an die Datenbank weiterzuleiten und die Ergebnisse in eine für Java nutzbare Form umzuwandeln und dem Programm zur Verfügung zu stellen.

Für jede spezifische Datenbank sind eigene Treiber erforderlich, die die JDBC-Spezifikation implementieren. Diese Treiber werden meist vom Hersteller des Datenbank-Systems geliefert.

JDBC ist Teil der Java Standard Edition seit JDK 1.1. Die JDBC-Klassen liegen in den Java packages java.sql und javax.sql. Seit JDBC 3.0 wird JDBC im Rahmen des Java Community Processes weiterentwickelt. JSR 221 ist die Spezifikation der Version JDBC 4.0; aktuell 4.3 (Teil von Java SE 9).[3]

Typen von JDBC-Treibern

Die 4 Treiber-Typen von JDBC

In der JDBC-Spezifikation werden verschiedene Typen von JDBC-Treibern unterschieden.

Typ-1-Treiber

Ein JDBC-Typ-1-Treiber kommuniziert ausschließlich über einen JDBC-ODBC-Bridge-Treiber. Die bekannteste JDBC-ODBC-Bridge ist die von Oracle vertriebene. Damit ist ein Typ-1-Treiber abhängig von einem installierten ODBC-Treiber. Der JDBC-ODBC-Bridge-Treiber wandelt JDBC- in ODBC-Anfragen um.

Ein Typ-1-Treiber wird dann verwendet, wenn es zu der Datenbank einen ODBC-Treiber, jedoch keine eigenständigen JDBC-Treiber gibt.

Mit Java 9 wird die Unterstützung für JDBC-Typ-1-Treiber eingestellt.

Typ-2-Treiber

Ein Typ-2-Treiber kommuniziert über eine plattformspezifische Programmbibliothek auf dem Client mit dem Datenbankserver. Das bedeutet, dass für jede Betriebssystem-Plattform zu dem Typ-2-Treiber eine zusätzliche Programmbibliothek benötigt wird.

Typ-3-Treiber

Mittels des Typ-3-Treibers werden die JDBC-API-Befehle in generische DBMS-Befehle übersetzt und (über ein Netzwerkprotokoll) an einen Middleware-Treiber auf einem Anwendungsserver übertragen. Erst dieser Anwendungsserver transformiert die Befehle für die spezifischen Datenbankserver und leitet sie an diese weiter. Ein Typ-3-Treiber benötigt damit keine plattformspezifischen Bibliotheken und muss auch nichts über den verwendeten Datenbankserver wissen.

Typ-3-Treiber eignen sich sehr gut für Internet-Protokolle im Zusammenhang mit Firewalls.

Typ-4-Treiber

Beim Typ-4-Treiber werden die JDBC-API-Befehle direkt in DBMS-Befehle des jeweiligen Datenbankservers übersetzt und (über ein Netzwerkprotokoll) an diesen übertragen. Ein Middleware-Treiber wird dabei nicht verwendet. Damit kann ein Typ-4-Treiber schneller als ein Typ-3-Treiber sein, ist aber weniger flexibel.

Typ-4-Treiber eignen sich gut für Intranet-Lösungen, die schnelle Netzprotokolle nutzen wollen.

Commons: JDBC – Sammlung von Bildern, Videos und Audiodateien
Wikibooks: Java Standard: JDBC – Lern- und Lehrmaterialien

Einzelnachweise

  1. https://jcp.org/aboutJava/communityprocess/mrel/jsr221/index3.html
  2. https://jcp.org/en/jsr/detail?id=221
  3. https://docs.oracle.com/javase/9/docs/api/java/sql/package-summary.html

Auf dieser Seite verwendete Medien

JDBC Treiber Typen.svg
Autor/Urheber:

Fettsack76

, Lizenz: PD-Schöpfungshöhe

Stellt die 4 Typen der JDBC Treiber dar (1-4 von links nach rechts)