JDBC - Einführung

Was ist JDBC?

JDBC steht für Java Dan einerbase Connectivity ist eine Standard-Java-API für die datenbankunabhängige Konnektivität zwischen der Programmiersprache Java und einer Vielzahl von Datenbanken.

Die JDBC-Bibliothek enthält APIs für jede der unten genannten Aufgaben, die üblicherweise mit der Datenbanknutzung verbunden sind.

  • Herstellen einer Verbindung zu einer Datenbank.

  • Erstellen von SQL- oder MySQL-Anweisungen.

  • Ausführen von SQL- oder MySQL-Abfragen in der Datenbank.

  • Anzeigen und Ändern der resultierenden Datensätze.

Grundsätzlich ist JDBC eine Spezifikation, die einen vollständigen Satz von Schnittstellen bereitstellt, die den portablen Zugriff auf eine zugrunde liegende Datenbank ermöglichen. Java kann verwendet werden, um verschiedene Arten von ausführbaren Dateien zu schreiben, z.

  • Java-Anwendungen

  • Java-Applets

  • Java-Servlets

  • Java ServerPages (JSPs)

  • Enterprise JavaBeans (EJBs).

Alle diese verschiedenen ausführbaren Dateien können einen JDBC-Treiber verwenden, um auf eine Datenbank zuzugreifen und die gespeicherten Daten zu nutzen.

JDBC bietet dieselben Funktionen wie ODBC, sodass Java-Programme datenbankunabhängigen Code enthalten können.

Voraussetzung

Bevor Sie fortfahren, müssen Sie die folgenden beiden Themen gut verstehen:

  • JAVA-Kernprogrammierung

  • SQL- oder MySQL-Datenbank

JDBC-Architektur

Die JDBC-API unterstützt sowohl zweistufige als auch dreistufige Verarbeitungsmodelle für den Datenbankzugriff. Im Allgemeinen besteht die JDBC-Architektur jedoch aus zwei Ebenen:

  • JDBC API: Dadurch wird die Verbindung zwischen Anwendung und JDBC-Manager hergestellt.

  • JDBC Driver API: Dies unterstützt die JDBC-Manager-zu-Treiber-Verbindung.

Die JDBC-API verwendet einen Treibermanager und datenbankspezifische Treiber, um eine transparente Konnektivität zu heterogenen Datenbanken bereitzustellen.

Der JDBC-Treibermanager stellt sicher, dass der richtige Treiber für den Zugriff auf jede Datenquelle verwendet wird. Der Treibermanager kann mehrere gleichzeitige Treiber unterstützen, die mit mehreren heterogenen Datenbanken verbunden sind.

Das folgende Architekturdiagramm zeigt den Standort des Treibermanagers in Bezug auf die JDBC-Treiber und die Java-Anwendung.

Allgemeine JDBC-Komponenten

Die JDBC-API bietet die folgenden Schnittstellen und Klassen:

  • DriverManager:Diese Klasse verwaltet eine Liste von Datenbanktreibern. Ordnet Verbindungsanforderungen von der Java-Anwendung dem richtigen Datenbanktreiber unter Verwendung des Kommunikationsunterprotokolls zu. Der erste Treiber, der ein bestimmtes Unterprotokoll unter JDBC erkennt, wird zum Herstellen einer Datenbankverbindung verwendet.

  • Driver:Diese Schnittstelle übernimmt die Kommunikation mit dem Datenbankserver. Sie werden sehr selten direkt mit Treiberobjekten interagieren. Stattdessen verwenden Sie DriverManager-Objekte, mit denen Objekte dieses Typs verwaltet werden. Außerdem werden die Details für die Arbeit mit Treiberobjekten abstrahiert.

  • Connection:Diese Schnittstelle mit allen Methoden zur Kontaktaufnahme mit einer Datenbank. Das Verbindungsobjekt stellt den Kommunikationskontext dar, dh die gesamte Kommunikation mit der Datenbank erfolgt nur über das Verbindungsobjekt.

  • Statement:Sie verwenden Objekte, die über diese Schnittstelle erstellt wurden, um die SQL-Anweisungen an die Datenbank zu senden. Einige abgeleitete Schnittstellen akzeptieren neben der Ausführung gespeicherter Prozeduren auch Parameter.

  • ResultSet:Diese Objekte enthalten Daten, die aus einer Datenbank abgerufen wurden, nachdem Sie eine SQL-Abfrage mit Anweisungsobjekten ausgeführt haben. Es fungiert als Iterator, mit dem Sie sich durch die Daten bewegen können.

  • SQLException: Diese Klasse behandelt alle Fehler, die in einer Datenbankanwendung auftreten.

Die JDBC 4.0-Pakete

Die Dateien java.sql und javax.sql sind die primären Pakete für JDBC 4.0. Dies ist die neueste JDBC-Version zum Zeitpunkt des Schreibens dieses Tutorials. Es bietet die Hauptklassen für die Interaktion mit Ihren Datenquellen.

Die neuen Funktionen in diesen Paketen umfassen Änderungen in den folgenden Bereichen:

  • Automatisches Laden des Datenbanktreibers.

  • Verbesserungen bei der Ausnahmebehandlung.

  • Erweiterte BLOB / CLOB-Funktionalität.

  • Verbesserungen der Verbindungs- und Anweisungsschnittstelle.

  • Unterstützung für nationale Zeichensätze.

  • SQL ROWID-Zugriff.

  • Unterstützung für SQL 2003 XML-Datentypen.

  • Annotations.