Java JDBC: Treiber, Verbindung & Abfragen verstehen
Eingeordnet in Informatik
Geschrieben am in Deutsch mit einer Größe von 4,43 KB
Typen von JDBC-Treibern
Die JDBC-Spezifikation von Sun definiert vier verschiedene Typen von JDBC-Treibern (auch Brückentreiber genannt):
Typ 1: JDBC-ODBC-Brückentreiber
Der JDBC-ODBC-Brückentreiber nutzt das Betriebssystem als Gateway. Ein bekanntes Beispiel ist der JDBC-ODBC-Treiber. Diese Lösung ist oft nicht optimal, da sie in vielen Fällen die Installation spezieller Client-Software erfordert und der Datenbankzugriff langsam sein kann.
Typ 2: Native-API-Treiber
Dieser Treiber wird auch als Native-API-Treiber bezeichnet. Er enthält Java-Code, der Aufrufe an die nativen Methoden der Datenbank (oft in C oder C++) weiterleitet, um auf die Datenbank zuzugreifen. Gelegentlich ist für die Verwendung dieser Treiberart die Installation von Client-Software erforderlich.
Typ 3: Netzwerkprotokoll-Treiber (Middleware)
Diese JDBC-Treiber kommunizieren über Sockets mit einem Application Server (Middleware), der die Anfragen des Client-Programms über eine spezielle Treiber-API weiterleitet. Ein Vorteil dieser Treiberart ist, dass auf dem Client keine zusätzliche Software installiert werden muss.
Typ 4: Native-Protokoll-Treiber (Rein Java)
Diese Treiber verwenden die nativen Netzwerkprotokolle des DBMS (Datenbankmanagementsystem) und kommunizieren direkt mit der Datenbank, oft ebenfalls über Java-Sockets. Sie gelten als die beste Lösung, da diese Treiber vollständig in Java geschrieben sind. Die meisten dieser Treiber werden vom Hersteller Ihres DBMS bereitgestellt.
Anwendungsentwicklung mit der JDBC-API
Ein wesentlicher Vorteil der JDBC-API ist die Datenbankunabhängigkeit. Die Funktionen bleiben gleich, unabhängig von der verwendeten Datenbank. Dies ermöglicht es Ihnen, eine Anwendung für eine bestimmte Datenbank (z. B. MySQL) zu entwickeln und sie später problemlos auf einem Produktionsserver mit einer leistungsfähigeren Datenbank-Engine wie SQL Server oder PostgreSQL einzusetzen.
Einrichtung von JDBC-Treibern
Der erste Schritt ist die Herstellung einer Verbindung zwischen Ihrem Java-Programm und der Datenbank. In den meisten Fällen sind hierfür ein Benutzername und ein Passwort für den Datenbankzugriff erforderlich.
JDBC-Treiber in Tomcat einbinden
Wenn Sie Tomcat verwenden, müssen die JDBC-Treiber (oft als .jar
- oder .class
-Dateien) in den CLASSPATH der Umgebung aufgenommen werden. Typischerweise bedeutet dies, dass die Treiberdatei in den Ordner lib
innerhalb des Installationsverzeichnisses des JSP-Interpreters kopiert werden muss. Ein Beispiel hierfür ist die MySQL-JDBC-API-Datei mysql-connector-java-3.0.9-stable-bin.jar
.
Nachdem die Verbindung zur Datenbank hergestellt ist, können Sie SQL-Anweisungen oder Abfragen aus Ihrem Java-Programm heraus ausführen, um mit der Datenbank zu interagieren. Dazu gehören Abfragen, die Daten in der Datenbank verändern, ohne Ergebnisse zurückzugeben, wie z. B. INSERT
, ALTER
, DELETE
, CREATE
, DROP
oder UPDATE
.
Ein Beispiel für die Ausführung einer solchen Anweisung sieht wie folgt aus:
Statement stmt;
stmt = con.createStatement();
stmt.executeUpdate("INSERT INTO Interesse (interes_nombre, interes_url, interes_tipo) VALUES ('" + args[0] + "', '" + args[1] + "', '" + args[2] + "')");
Die Methode createStatement()
Die Methode createStatement()
erzeugt einen offenen Kanal, über den Abfragen ausgeführt werden können.
Abfragen ausführen: executeUpdate()
Die Methode executeUpdate()
führt die Abfrage tatsächlich in der Datenbank aus. Die Methode close()
gibt die Ressourcen frei, die der geöffneten Verbindung zugeordnet sind.
Das folgende Beispiel erstellt eine Tabelle namens TupelInteresse
in der Liga
-Datenbank.
Abfragen ausführen: executeQuery()
Abfragen zum Abrufen von Tupeln oder Datensätzen werden mit der Methode executeQuery()
ausgeführt. Diese Methode liefert ein ResultSet
-Objekt, das verwendet werden kann, um auf jeden der zurückgegebenen Datensätze zuzugreifen:
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;