18.1.2 | Architektur |
Die wichtigsten Komponenten von JDBC sind:Durch das JDBC-API wird lediglich der Zugriffsmechanismus festgelegt und definiert, durch welche Methodenaufrufe man aus Java auf relationale Datenbanken zugreifen kann. Diese Schnittstelle wurde vollständig mit Java-Interfaces definiert, die alle im Paket java.sql enthalten sind. Programmcode für den Zugriff auf ein konkretes Datenbanksystem, wie z. B. den Oracle-Server oder MySQL, ist nicht Bestandteil der Schnittstelle.
- Das JDBC-API ist eine Programmierschnittstelle zum Datenbankzugriff für den Anwendungsentwickler.
- Der JDBC-Treibermanager verwaltet JDBC-Treiber innerhalb der Java-Laufzeitumgebung.
- Der JDBC-Treiber stellt die Implementierung der JDBC-Schnittstelle für ein konkretes Datenbanksystem dar. Der Treiber übernimmt letztendlich die Kommunikation mit dem Datenbanksystem.
Die Arbeit wird beim Datenbankzugriff vom sogenannten JDBC-Treiber durchgeführt. JDBC-Treiber werden üblicherweise direkt von den Datenbankherstellern oder von den Anbietern von Middleware zur Verfügung gestellt. Ein Treiber implementiert die Funktionen der JDBC-Schnittstellen im Paket java.sql. In ihm sind alle datenbankspezifischen Zugriffsmechanismen gekapselt. Nach dem Verbindungsaufbau ist es aus Sicht der Anwendung nicht mehr erkennbar, mit welchem Treiber gearbeitet wird, vorausgesetzt, es werden keine treiberspezifischen Erweiterungen verwendet.
Die Verwaltung der Treiber in der Java-Laufzeitumgebung wird vom JDBC-Treibermanager übernommen. Wenn man eine Verbindung zu einem konkreten Datenbanksystem aufbauen will, muss man den zugehörigen Treiber zunächst beim Treibermanager registrieren. In einer Anwendung kann man prinzipiell beliebig viele Treiber beim Treibermanager anmelden. Beim Verbindungsaufbau zu einer Datenbank wird anschließend vom Treibermanager der benötigte Treiber angefordert. Wenn der Treiber dem Treibermanager bekannt ist, wird er initialisiert und anschließend für die Durchführung der Datenbankzugriffe verwendet.
Beim Standard-JDK von Sun wird neben der JDBC-Schnittstelle außerdem eine JDBC-ODBC-Bridge mitgeliefert. Diese Bridge wandelt JDBC-Aufrufe in ODBC-Aufrufe um. Dadurch ist es möglich, jede beliebige ODBC-Datenquelle über JDBC anzusprechen. Hierzu muss allerdings ein ODBC-Treiber für das Datenbanksystem zur Verfügung stehen und ordnungsgemäß installiert worden sein.