From cca35df9f74ea03ea3180151a5d5c8c9c458c603 Mon Sep 17 00:00:00 2001 From: Dennis Eisold <de@itstall.de> Date: Thu, 14 Nov 2019 14:09:13 +0100 Subject: [PATCH] =?UTF-8?q?Datenbank=20Verbindung=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../de/telefonbuch/TelefonbuchController.java | 3 ++ .../java/de/telefonbuch/model/Datenbank.java | 47 +++++++++++++++++++ src/main/java/module-info.java | 1 + 3 files changed, 51 insertions(+) create mode 100644 src/main/java/de/telefonbuch/model/Datenbank.java diff --git a/src/main/java/de/telefonbuch/TelefonbuchController.java b/src/main/java/de/telefonbuch/TelefonbuchController.java index 54b7bc5..4eb536f 100644 --- a/src/main/java/de/telefonbuch/TelefonbuchController.java +++ b/src/main/java/de/telefonbuch/TelefonbuchController.java @@ -1,5 +1,6 @@ package de.telefonbuch; +import de.telefonbuch.model.Datenbank; import de.telefonbuch.model.Fehler; import de.telefonbuch.model.Kontakt; import javafx.fxml.FXML; @@ -119,6 +120,8 @@ public class TelefonbuchController { assert btnNeuerEintrag != null : "fx:id=\"btnNeuerEintrag\" was not injected: check your FXML file 'telefonbuch.fxml'."; assert btnLoeschen != null : "fx:id=\"btnLoeschen\" was not injected: check your FXML file 'telefonbuch.fxml'."; + Datenbank db = new Datenbank(); + /* Wenn noch keine Einträge vorhanden sind, die Buttons deaktivieren */ if (App.eintraege.size() == 0) { deaktiviereButtons(true); diff --git a/src/main/java/de/telefonbuch/model/Datenbank.java b/src/main/java/de/telefonbuch/model/Datenbank.java new file mode 100644 index 0000000..e5fae57 --- /dev/null +++ b/src/main/java/de/telefonbuch/model/Datenbank.java @@ -0,0 +1,47 @@ +package de.telefonbuch.model; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.sql.Statement; + +public class Datenbank { + + Connection con; + + public Datenbank() { + try { + this.connect(); + this.createTables(); + } catch (SQLException | ClassNotFoundException e) { + e.printStackTrace(); + } + } + + private void createTables() throws SQLException { + Statement stmt = this.con.createStatement(); + String createTable = "CREATE TABLE IF NOT EXISTS \"kontakte\" (" + + "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " + + "vorname VARCHAR(50) NULL, " + + "nachname VARCHAR(50) NULL, " + + "strasse VARCHAR(50) NULL, " + + "hnr VARCHAR(10) NULL, " + + "plz VARCHAR(5) NULL, " + + "ort VARCHAR(50) NULL, " + + "telefon VARCHAR(30) NULL" + + ");"; + System.out.println(stmt.execute(createTable)); + } + + /** + * Verbindung zur Datenbank aufbauen + */ + public void connect() throws ClassNotFoundException, SQLException { + Class.forName("org.sqlite.JDBC"); + + String datenbankdatei = "c:\\temp\\telefonbuch.sqlite"; + + this.con = DriverManager.getConnection("jdbc:sqlite:" + datenbankdatei); + System.out.println("Erfolgreich mit Datenbank verbunden."); + } +} diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index f18ba8f..257d39c 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -2,6 +2,7 @@ module de.telefonbuch { requires javafx.controls; requires javafx.fxml; requires java.desktop; + requires java.sql; opens de.telefonbuch to javafx.fxml; exports de.telefonbuch; -- GitLab