~~NOTOC~~ ====== 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. {{ :faecher:informatik:oberstufe:datenbanken:projekt:java_db:phpmyqdmin.png |}} 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. {{ :faecher:informatik:oberstufe:datenbanken:projekt:java_db:jdbc.png |}} 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 [[faecher:informatik:oberstufe:git:start|Grundlagen der Versionsverwaltung mit git]] verstanden hast und git auf deinem Arbeitsgerät installiert ist. * [[.java_db_schuelerliste:start|Schritt 1: Schülerliste komplett auslesen]] * [[.java_db_schuelerliste_suche:start|Schritt 2: Suchen in der Schülerliste]] * [[.java_db_schuelerliste_insert:start|Schritt 3: Daten in die Schülerliste einfügen]] * [[.java_db_null:start|Schritt 4: Verarbeitung von Null-Werten]] ===== Projektvorschläge ===== * [[.java_db_p_tagebuch:start|Ein Tagebuch]] * [[.java_db_p_mondial:start|Geoinformationsdaten]] * [[.java_db_p_adressbuch:start|Adressbuch]] ===== Material ===== [[https://slides.info-bw.de/fs-wiki-java-db-01/|Präsentation: Start-Präsentation: DB Zugriff mit Java]] [[https://slides.info-bw.de/fs-wiki-java-db-01/?print-pdf|(PDF)]]((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 ;)