diff --git a/src/main/java/de/telefonbuch/TelefonbuchController.java b/src/main/java/de/telefonbuch/TelefonbuchController.java index 54b7bc5252b503b7c019dc176488e9951139ce3b..4eb536f6c8462fc83a7af0e2b6eea258d890f7bf 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 0000000000000000000000000000000000000000..e5fae572096c4e2266792d278367306c3f5ff543 --- /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 f18ba8fa148ea2052ea23295169bdd096b1086bd..257d39ca038f5e90cb000719edfd21d0355ba2ef 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;