Suchen

Definition Was ist JDBC (Java Database Connectivity)?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

Java Database Connectivity (JDBC) ist eine treiberbasiert arbeitende Datenbankschnittstelle für Java. Das API erlaubt den Zugriff auf unterschiedliche relationale Datenbanken und ermöglicht die Ausführung von SQL-Anweisungen. JDBC ist vergleichbar mit dem von Microsoft entwickelten ODBC (Open Database Connectivity).

Firma zum Thema

(Bild: © aga7ta - stock.adobe.com)

Die Abkürzung JDBC steht für Java Database Connectivity. Es handelt sie um ein Java-API, mit dem sich SQL-Anweisungen in Datenbanken ausführen lassen. Das API stellt eine Schnittstelle zu unterschiedlichen relationalen Datenbanken zur Verfügung. Mithilfe verschiedener Klassen und Treiber können Programmierer Datenbankanwendungen für Java schreiben. Die Funktionsweise von JDBC ist vergleichbar mit der von Microsoft entwickelten Datenbankschnittstelle ODBC (Open Database Connectivity). JDBC baut Verbindungen zu Datenbanken auf, übermittelt Befehle und Abfragen und leitet die erhaltenen Ergebnisse an die Anwendung weiter.

Zur Anbindung unterschiedlicher Datenbanktypen existieren verschiedene Treiber. Oft stellen die Hersteller von Datenbanksystemen geeignete Treiber für Java Database Connectivity bereit. Das 2010 von Oracle übernommene Unternehmen Sun Microsystems entwickelte JDBC für die Java Plattform. Seit JDK 1.1 gehört JDBC zur Java Standard Edition. Die verschiedenen JDBC-Klassen sind in den Java Packages javax.sql und java.sql zu finden.

Ziele und Designprinzipien von JDBC

Java Database Connectivity verfolgt diese grundsätzlichen Ziele und Designprinzipien:

  • Verwendung der Datenbanksprache SQL (Structured Query Language)
  • Einfachheit in der Anwendung
  • adaptive Programmierung
  • gute Skalierbarkeit
  • gleichzeitiger Zugriff auf verschiedene Datenbankquellen
  • kompatibel mit unterschiedlichen Datenbanktypen
  • Berücksichtigung der wichtigsten Elemente von SQL:2003
  • zuverlässige und robuste Schnittstellenfunktionen
  • Integration in die JSE- und JEE-Architektur

Das Treiberkonzept und die verschiedenen Treibertypen der Java Database Connectivity

JDBC verwendet einen Treibermanager, der unterschiedliche Datenbanktreiber unterstützt. Die verschiedenen Treiber sind in der Lage, unterschiedliche Datenbanksysteme anzusprechen und abzufragen. Für jeden Datenbanktyp sind eigene Treiber notwendig. Hersteller von Datenbanken stellen in der Regel die passenden Treiber zur Verfügung. Grundsätzlich existieren für JDBC vier verschiedene Typen von Treibern.

Eigenschaften und Einsatzbereiche der Typ-1-Treiber

Typ-1-Treiber sind von der Installation eines ODBC-Treibers abhängig. Sie nutzen eine JDBC-ODBC-Bridge, die JDBC-Anfragen in ODBC-Anfragen umwandelt. Typisches Einsatzszenarium dieses Treibertyps sind Datenbanken, die nur ODBC-Treiber zur Verfügung stellen. Ab der Version Java 9 ist die Unterstützung der Typ-1-Treiber eingestellt.

Eigenschaften und Einsatzbereiche der Typ-2-Treiber

Typ-2-Treiber benötigen für den Client eine plattformspezifische Programmbibliothek. Die Treiber nutzen die Programmbibliothek für die Kommunikation mit dem Datenbankserver. Für jede Betriebssystemplattform ist eine Programmbibliothek bereitzustellen. Typ-2-Treiber eignen sich sehr gut für den Einsatz auf lokalen Systemen.

Eigenschaften und Einsatzbereiche der Typ-3-Treiber

Typ-3-Treiber übersetzen die Befehle der JDBC-API in DBMS-Befehle. Ein Middleware-Treiber überträgt die übersetzen Befehle an den Anwendungsserver. Dank dieser Architektur benötigen die Typ-3-Treiber keine eigene Programmbibliothek und kein spezifisches Wissen über die verwendeten Datenbankserver. Typische Einsatzbereiche sind die Nutzung von Internetprotokollen über Firewalls zur Kommunikation mit dem Datenbankserver.

Eigenschaften und Einsatzbereiche der Typ-4-Treiber

Auch Typ-4-Treiber übersetzen die JDBC-API-Befehle in DBMS-Befehle. Allerdings ist kein Middleware-Treiber erforderlich, da die Übertragung der Befehle direkt erfolgt. Vorteil dieser Treiber ist ihre hohe Geschwindigkeit, die durch ein gewisses Maß an Unflexibilität erkauft ist. Typischer Einsatzbereich ist die geschwindigkeitsoptimierte Datenbankkommunikation im Intranet.

Vorteile durch den Einsatz der Java Database Connectivity

Durch die Verwendung von Java Database Connectivity zur Kommunikation von Java-Anwendungen mit Datenbanken ergeben sich eine Vielzahl an Vorteilen. Anwendungen lassen sich schneller und mit weniger Aufwand programmieren. Sollen andere Datenbanksysteme eingebunden werden, ist dies relativ einfach durch die Nutzung anderer Treiber möglich. Die Anwendung selbst muss hierfür nicht angepasst werden. Ein einmal geschriebenes Java-Programm kann Daten von unterschiedlichen Datenbanksystemen abfragen. JDBC ist plattformunabhängig einsetzbar und gestattet es, Java-Programme mit minimalem Aufwand zwischen verschiedenen Systemen zu übertragen. Je nach vorliegender Architektur existieren Treibertypen mit spezifischen Vorteilen für lokale oder Intranet- und Internet-basierte Systeme.

Abgrenzung zwischen ODBC und JDBC

Open Database Connectivity und Java Database Connectivity erfüllen bei der Kommunikation der Anwendungen mit Datenbanksystemen vergleichbare Aufgaben. JDBC und ODBC lassen sich in bestimmten Bereichen jedoch deutlich voneinander abgrenzen. Während ODBC eine grundsätzlich offene Schnittstelle ist, die von jeder Anwendung für die Kommunikation von Datenbanksystemen genutzt werden kann, ist JDBC speziell für die Verbindung von Java-Anwendungen vorgesehen. ODBC ist sprachunabhängig, JDBC an Java gebunden. Die JDBC-ODBC-Bridge ermöglicht es den Java-Anwendungen, Verbindungen mit jeder ODBC-kompatiblen Datenbank aufzubauen.

(ID:45370012)

Über den Autor