studyklar
IProg · Skript 9 · Abschnitt 1

JDBC: Treiber einbinden und Verbindung aufbauen

Bevor ein Java-Programm SQL an eine Datenbank schicken kann, braucht es eine Verbindung. Hier steht, was JDBC ist, wo der Treiber liegen muss und wie man die Verbindung aufbaut. Mit Weiter geht es Schritt für Schritt voran. Ein Klick auf einen Schritt springt direkt dorthin.

Worum es geht

Skript 09, Folien 2 bis 6: JDBC, Einbindung des Treibers, Verbindungsaufbau, Nutzung von Properties-Dateien.

Eine Web-Anwendung speichert ihre Daten in einer Datenbank. In PHP gab es dafür mysqli. In Java heißt der Weg JDBC. Die Frage dieses Abschnitts: Was braucht ein Java-Programm, damit es überhaupt mit der Datenbank sprechen kann?

Merke: JDBC allein reicht nicht. Zu jeder Datenbank gehört ein eigener Baustein, der zur Laufzeit da sein muss.

So gehen wir vor:

  1. Was JDBC ist und was ein Treiber ist.
  2. Wo der Treiber liegen muss, besonders bei Web-Anwendungen.
  3. Eine Verbindung mit URL, Benutzer und Passwort öffnen.
  4. Die Zugangsdaten in eine Properties-Datei auslagern.
  5. Eine Klausurfrage dazu.

Abweichung vom Skript: Auf Folie 5 fehlen in der Verbindungs-URL zwei Schrägstriche. Hier steht sie richtig; Schritt 4 erklärt, warum.

JDBC: eine Schnittstelle für alle Datenbanken

Skript · Folie 2
  • JDBC ist nur eine Schnittstellenspezifikation.
  • Erfordert für jede Datenbank eine Implementierung.
  • Die Implementierungen werden als JDBC-Treiber bezeichnet.
  • In der Regel beim jeweiligen Hersteller, in Form eines JAR-Archivs.

JDBC steht für Java Database Connectivity. Es ist eine Schnittstelle: eine Sammlung von Klassen und Methoden mit festen Namen, etwa Connection für eine Verbindung. Sie liegt im Paket java.sql und gehört schon zu Java.

JDBC legt aber nur fest, welche Methoden es gibt. Wie sie mit einer bestimmten Datenbank reden, steht im JDBC-Treiber. Das ist die Implementierung für genau eine Datenbank, meist vom Hersteller, als JAR-Archiv (eine gepackte Datei mit Java-Klassen).

Der Vorteil: Das Programm benutzt immer dieselben Methoden. Wer von MySQL zu Oracle wechselt, tauscht den Treiber und die Verbindungsdaten, nicht den ganzen Code.

Der Treiber muss zur Laufzeit da sein

Skript · Folie 3

Das JAR-Archiv mit dem Treiber muss zur Laufzeit verfügbar sein. Bei Stand-alone-Anwendungen reicht es, wenn das Archiv in den Java-Classpath aufgenommen wird. Das reicht aber nicht bei Web-Anwendungen!

Der Compiler braucht den Treiber nicht: Das Programm benutzt nur die Namen aus java.sql. Erst beim Ausführen sucht Java den Treiber. Darum sagt die Folie: Das JAR muss zur Laufzeit verfügbar sein.

Bei einer Stand-alone-Anwendung, also einem Programm, das man selbst mit java startet, reicht der Classpath. Das ist die Liste der Orte, an denen Java nach Klassen sucht. In Eclipse trägt man das JAR unter Build Path → Configure Build Path ein.

Noch 9 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Abbildung 1

SchichtWas es ist
Java-Programmdeine Klasse, sie ruft Methoden aus java.sql auf
?Wie kommt das SQL zur Datenbank?
DatenbankMariaDB, MySQL, Oracle …
LegendeZeilen des SchrittsZwischen Programm und Datenbank fehlt noch ein Stück.