Datenbankzugriff mit Java

Bislang haben wir Datenbanken aus einer sehr technischen Sicht betrachtet: Mit phpmyadmin konnten wir SQL-Befehle ausführen, um MySQL/MariaDB Datenbanken abzufragen, Tabellen zu erstellen oder Daten zu verändern.

Dazu war die Kenntnis von SQL unerlässlich. Die meisten Anwendungen, die auf Datenbanken operieren sind jedoch für Endanwender ohne detaillierte Kenntnisse von SQL gedacht - diese sollen sich um SQL-Statements keine Gedanken machen, sondern in einer verständlichen Benutzeroberfläche mit der Datenbank interagieren.

Viele Programmiersprachen bieten Bibliotheken an, mit Hilfe derer man auf Datenbanken zugreifen kann. Damit wird das Programm von der Datenbank abstrahiert - es spielt keine Rolle, welches Datenbankmanagementsystem zum Einsatz kommt, man muss lediglich mit Hilfe der passenden Bibliothek eine Vebindung zum DBMS herstellen und kann dann aus dem Programm heraus Abfragen auf der Datenbank ausführen.

Java verwendet hier JDBC ("Java Database Connectivity"), für JDBC gibt es Treiber für alle gängigen DMBS. Wir verwenden zunächst SQlite als DMBS, da man dafür keinen gesonderten Datenbankserver benötigt - die Datenbanken liegen bei SQLite einfach als Dateien vor.

Einführung

Die Beispiele Verwenden git um zwischen Branches zu wechseln. Du solltest also sicherstellen, dass du die Grundlagen der Versionsverwaltung mit git verstanden hast und git auf deinem Arbeitsgerät installiert ist.

Schritt 1: Schülerliste komplett auslesen

Schritt 2: Suchen in der Schülerliste

Schritt 3: Daten in die Schülerliste einfügen

Schritt 4: Verarbeitung von Null-Werten

Material

Präsentation: Start-Präsentation: DB Zugriff mit Java (PDF)1) Link öffnen, dann aus dem Browser in ein PDF drucken

Die Materialien und Inhalte des Bereichs "Datenbanken mit Java" basieren auf Ideen und der Vorarbeit von R. Helfrich. Insbesondere die Projektvorlagen zum Üben und Ausprobieren wurden von ihm erstellt. Alle Fehler, die sich bei der Ergänzung und Übernahme ins Wiki eingeschlichen haben gehen auf meine Kappe ;)