Adressadministration mit Java und mySQL

Phips_CH

Mitglied
Hallo zusammen

Ich bin dabei mir Java anzueignen.
Ich habe mir schon diverse Tutorials angesehen, und auch verstanden.
Ich habe vorher schon mal mit PHP und mySQL etwas gemacht.

Nun möchte ich mit Java eine Anwendung programmieren, um eine Adressadministration eines Vereins oder kleinen Firma zu realisieren. Später sollen Arbeitseinsätze an diversen Events dazu kommen.
Allerdings habe ich den Einstig in die Umsetzung für mein Vorhaben noch nicht gefunden.
Ich denke das es etwas mit JavaFX zutun hat.
Verstehen ich das richtig, dass ich zum Beispiel im Scene Builder ein Formular mit allen TextFeldern, Buttons etc. erstellen muss?
Was mir fehlt ist, wie ich bei einem solchen Projekt vorgehen soll.
Wie erhalte ich danach einen Datensatz, den ich zum Beispiel dann aktualisieren kann. Klar mit eine SELCT abfrage. Aber wo soll ich diese einfügen?

Kann mir jemand einem Tipp geben wo ich diese Informationen her bekomme?
Ich bin auch dabei das Buch: "Programmieren lernen mit Java" von Hans-Peter Hablitz zu lesen.

Ich währe echt froh, wenn ihr mir da weiterhelfen könntet.
Besten Dank schon jetzt.
 

mihe7

Top Contributor
Kurze Antwort: Du erstellst Dir erst einmal ein Modell des Problembereichs (Domäne). Das implementierst Du und wenn alles läuft, wie es soll, bindest Du das GUI an.
 

mihe7

Top Contributor
Damit meine ich, dass Du Dir anschauen musst, welche Klassen, Felder etc. Du brauchst und wie diese zusammenhängen, um die fachliche Seite (Verwaltung von Adressen) der Anwendung zu beschreiben. Hier geht es gerade nicht um das UI, sondern um den Kern des Problems.

Beispielsweise wird es - abhängig von Deinen Anforderungen - nicht mit einer Klasse "Adresse" getan sein. Du kannst Personen haben, die mehrere Adressen haben. Es kann unterschiedliche Arten von Adressen geben usw. Dann ist die Frage, wie z. B. eine Adresse, eine Person etc. beschrieben werden kann. Es kann Benutzer geben usw. usw.
 

Phips_CH

Mitglied
Wenn ich mir diese Überlegungen mache, wie gehe ich da vor? Was muss ich beachten?
Ich habe mir gedacht, dass jede Person in der Adressverwaltung einen Datensatz in meiner mySQL DB ist. Mehrere Adressen sind in verschiedenen Feldern gespeichert. Aber zum Beispiel bei der Anrede mache ich eine Verknüpfungstabelle.

Sorry meine Fragerei. Aber ich da vorgehe resp. anfangen soll, habe ich nichts im Netz gefunden. Oder ich habe am falschen Ort grsucht.
 

mihe7

Top Contributor
Du brauchst Grundlagen, nicht nur in Java sondern auch in der Objektorientierung. Sonst wirst Du keine große Freude haben. Da kann Dir @Javinner bestimmt den ein oder anderen Tipp geben.
 

Javinner

Top Contributor
Hey, zum Thema Datenbank kann ich nicht viel sagen, damit habe ich mich noch nicht ausreichend beschäftigt. Zum Rest deiner Anfrage kann ich dir das Buch "Entwurfsmuster von Kopf bis Fuß" ans Herz legen, ist wirklich ein tolles Buch, auch wenn der Still es am Anfang etwas anderes glauben lässt. Was du brauchst, ist die Struktur der Klassen, welche sich leicht pflegen und erweitern lässt. Sonst kann ich dir das Buch "Objektorientierte Programmierung" vom Rheinwerkverlag empfehlen, welches jedoch teils sehr trocken ist, wie ich fand. Als Standartwerk wird "Java ist auch eine Insel" betrachtet und ist online kostenlos verfügbar. Ebenso ist das Buch "Effective Java" ziemlich cool, jedoch ist Englisch hier Pflicht. Sonst empfehle ich dir den Forum hier, falls du Probleme hast. Wenn du selbst dran bleibst, wird dir hier sehr viel und breitgefächert geholfen.

Nebenbei: Swing ist tot, lang lebe Swing ;) Wenn du jedoch auf JavaFX bestehst, dann kannst du dir "Learn JavaFX 8" oder "Mastering JavaFX 10" anschauen, habe es kurz überflogen und es handelt sich dem Anschein nach um die Grundlagenbücher.
 

Phips_CH

Mitglied
Dann werde ich mir die Bücher "Entwurfsmuster von Kopf bis Fuß" und "Objektorientierte Programmierung" zu gemühte führen.

Nebenbei: Swing ist tot, lang lebe Swing ;) Wenn du jedoch auf JavaFX bestehst, dann kannst du dir "Learn JavaFX 8" oder "Mastering JavaFX 10" anschauen, habe es kurz überflogen und es handelt sich dem Anschein nach um die Grundlagenbücher.

Ich habe mich noch nicht für JavaFX entschieden. Ich bin im Netz auf JavaFX gestossen.
Du würdest mir eher Swing vorschlagen?
 

mihe7

Top Contributor
Es geht darum, dass Du Dich erstmal mit dem objektorientierten Paradigma auseinandersetzt. Aus Sicht der Anwendung sind sowohl UI als auch DB Implementierungsdetails. Der Kern der Anwendung funktioniert unabhängig davon.
 

Trjavnamen

Bekanntes Mitglied
Schritt 1. neue Eclipse IDE für Java herunterladen
schritt 2. neuste Java herunterladen
schritt3 sceneBuilder herunterladen(extra programm für leichteres erstellen derFenster)
schritt4 in Eclipse über Marktpaces die Erweiterungen für JavaFX und was sonst noch wichtig erscheint zu installieren
schritt5 "Main" Klasse erstellen.
schritt6"MainWindowController" erstellen
schritt7"MainWindow.fxml"erstellen
dieses in die Main kopieren
Code:
import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;


public class Main extends Application {
    
    private Stage primaryStage;
            

        public void start(Stage primaryStage) {
            this.primaryStage = primaryStage;
            mainWindow();
        }    
            
            
        
        public void mainWindow(){
    try {
            FXMLLoader loader = new FXMLLoader(Main.class.getResource("MainWindow.fmxl"));
            AnchorPane pane = loader.load();
            
            
            
            primaryStage.setMinHeight(400.00);
            primaryStage.setMinWidth(400.00);
            
            MainWindowController mainWindowController = loader.getController();
            mainWindowController.setMain(this);
            
         Scene scene=new Scene(pane);
         scene.getStylesheets().add("path/application.css");
        primaryStage.setScene(scene);
        primaryStage.show();
        
        
    }catch (IOException e ){
        e.printStackTrace();    
        }
    }
        public static void  main (String[] args) {
        launch(args);
    }
}
dieses in die MainWindowController einfügen und in der ersten zeile die package korrigieren
Code:
import application5.Main;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;

public class MainWindowController {
public Main main;   
public void setMain(Main main){
    this.main = main;}
@FXML
private Button Print;

@FXML
private TextField field001;

@FXML
private TextField text33;

@FXML
private Button clear;

@FXML
private ChoiceBox<String> choiceBox ;
ObservableList<String> availableChoices = FXCollections.observableArrayList("apples", "oranges");
String selectedChoice = choiceBox.getSelectionModel().getSelectedItem();



@FXML   
private Label label;

@FXML
void choisontcht001(ActionEvent event) {

}

    @FXML
    void handeltext(ActionEvent event) {

    }

    @FXML
    void handelprint(ActionEvent event) {
   }

    @FXML
    void handelclir2(ActionEvent event) {

    }

    @FXML
    void handelfill(ActionEvent event) {

    }
}
und dieses in die MainWindow.fxml einfügen
Code:
<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>

<AnchorPane cache="true" cacheHint="QUALITY" prefHeight="400.0" prefWidth="500.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application5.MainWindowController">
  <!-- TODO Add Nodes -->
  <children>
    <VBox id="VBox" alignment="CENTER" spacing="5.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
      <children>
        <ChoiceBox fx:id="choiceBox" onInputMethodTextChanged="#choisontcht001" prefWidth="150.0" />
        <Label fx:id="label" alignment="CENTER" text="Label" />
        <TextField fx:id="field001" alignment="CENTER" onMouseMoved="#handeltext" prefWidth="200.0" />
        <Button fx:id="Print" blendMode="GREEN" cache="true" cacheHint="QUALITY" mnemonicParsing="false" onAction="#handelprint" text="Print" textOverrun="WORD_ELLIPSIS" />
        <Button fx:id="clear" blendMode="GREEN" cache="true" cacheHint="QUALITY" mnemonicParsing="false" onAction="#handelclir2" text="clear" />
        <TextField fx:id="text33" alignment="CENTER" onMouseExited="#handelfill" prefWidth="200.0" />
      </children>
    </VBox>
  </children>
</AnchorPane>
 

mrBrown

Super-Moderator
Mitarbeiter
Schritt 1. neue Eclipse IDE für Java herunterladen
schritt 2. neuste Java herunterladen
schritt3 sceneBuilder herunterladen(extra programm für leichteres erstellen derFenster)
schritt4 in Eclipse über Marktpaces die Erweiterungen für JavaFX und was sonst noch wichtig erscheint zu installieren
schritt5 "Main" Klasse erstellen.
schritt6"MainWindowController" erstellen
schritt7"MainWindow.fxml"erstellen
dieses in die Main kopieren
Das scheitert btw daran, dass JavaFX mit "neuste Java herunterladen" noch nicht verfügbar ist, das muss man zusätzlich einbinden.
 

Trjavnamen

Bekanntes Mitglied
ok dann die mir letztb ekannte jdk1.8.0._130 ,Scene Builder 2 (bzw wenn win10oder die geforderte FRamwork installiert ist "scene builder7"
 

maGG

Bekanntes Mitglied
Du brauchst ein Programm zum Erstellen der DB und ein Programm zum schreiben deines Programms. SQLiteStudio für die DB und Eclipse oder Netbeans zum Schreiben deines Programms. Zusätzlich dazu brauchst du noch ein Java JDK (ein Developer KIT), welches du dir runterladen und installieren musst - ist alles free to use.

Dann musst du dir eine Datenbankstruktur überlegen und diese in SQLiteStudio erstellen. Achte dabei vor allem darauf, dass du deine Adressen möglichst atomar speicherst, also zerlegst. z.B. in Straße, PLZ, Ort, etc.

Danach bauchst du dir eine GUI (Graphical User Interface) in dem Builder und kannst so deine Tabell z.B. in einer jTable anzeigenlassen. Wie du diese dann editierbar machst bleibt dir überlassen. Die einfachste Methode wäre wohl Textfelder zu erstellen, die mit einem Action Event mit Werten aus der Tabelle befüllt werden und diese dann mit Buttons "update, löschen, neu" auf deine DB wirken zu lassen.

Ich habe auch grad mein eigenes Projekt, da kannst du ja mal reinschauen: https://www.java-forum.org/thema/2-combobox-en.184473/post-1179758
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin Java und MySQL MariaDB - WHERE-Klausel Datenbankprogrammierung 17
P Reicht finally nicht um DB connections zu schließen in (altem) Java? Datenbankprogrammierung 4
A Java DB Server lässt sich nicht starten Datenbankprogrammierung 3
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
U SQL Server mit Java verbinden Datenbankprogrammierung 5
D SQLite Datenbank in Android Studio (Java) durchsuchen Datenbankprogrammierung 3
TH260199 Java-Programm. Probleme bei der Umsetzung von einer Kontaktverwaltung. Datenbankprogrammierung 7
S Das printen der Ausgabe des Oracle-SQL-Statements in der Java-Eclipse-Konsole funktioniert nicht Datenbankprogrammierung 6
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
Zrebna Noobfrage: Konvertierung von SQL-Datentyp 'timestamp with time zone' in Java-Datentyp Datenbankprogrammierung 3
Zrebna Lediglich interne DB-Verbindungen (Connections) auslesen - mittels Java Datenbankprogrammierung 4
berserkerdq2 Was genau muss ich bei date eingeben, wenn ich in Java eine Spalte definiere, die date ist? Datenbankprogrammierung 1
berserkerdq2 Was kann passieren, wenn ich in java einstelle, dass der Fremdschüssel ein Attribut ist, welches selber kein Primärschlüssel ist? Datenbankprogrammierung 4
berserkerdq2 Foreign key einstellen java Datenbankprogrammierung 4
nikgo Java SQL Ausgabe in Liste o.ä. abspeichern um mit dem Ergbnis "zu arbeiten"? Datenbankprogrammierung 5
S Datenbankprogrammierung in Java unter NetBeans 12 funktioniert nicht! Datenbankprogrammierung 1
Beginner22 Zugriff auf Datenbank aus Java über mariadb Datenbankprogrammierung 3
S ODBC Treiber in Java Editor einbinden Datenbankprogrammierung 3
H Oracle Resize eines Images in Java und Rückgabe des Image als BLOB an die Oracle Datebank Datenbankprogrammierung 14
H Java Class zum komprimieren von Jpeg-Images zum Einbinden in Oracle DB - Bild als blob (in und out) Datenbankprogrammierung 23
V SQLite java.sql.SQLException: no such column: Datenbankprogrammierung 18
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
Slaylen Java List Suchen mit eigenem Generischen Datentyp Datenbankprogrammierung 10
N java sql abfrage bestimmer Datumszeitraum Datenbankprogrammierung 9
D SQL Server Android App: 'int java.lang.String.length()' on a null object reference Datenbankprogrammierung 15
P USER Management in SQL übergreifend auf JAVA Programm Datenbankprogrammierung 1
H MySQL Verbindung Datenbank und Eclipse (Java) Datenbankprogrammierung 5
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
N java SQL JAR - Probleme Datenbankprogrammierung 18
N SQL Datenbank Spalte in Java Array Datenbankprogrammierung 2
N SQL-Statement Java Variable in SQL DB einfügen Datenbankprogrammierung 1
S Verbindung von einer Excel Datei zu Java Datenbankprogrammierung 2
H suche eine Login system Bibliothek für Java Datenbankprogrammierung 5
T Java Spiel Daten speichern Datenbankprogrammierung 1
C Java MySQL check if value exists in database Datenbankprogrammierung 2
N Sqlite DB mit Java wird auf Linuxsystem nicht gefunden Datenbankprogrammierung 9
L Mybatis Datenbankabfragen in Java Datenbankprogrammierung 1
H MariaDB-Zugriff mittels Java SE Datenbankprogrammierung 3
J Java fügt Datensätze ein aber diese werden nicht richtig abgefragt Datenbankprogrammierung 3
S Datenbank MySQL und Java Datenbankprogrammierung 8
S Beispiel-Blockchain + GUI mit Java erstellen Datenbankprogrammierung 0
Trèfle SQLite SQL-Java Änderungen ausgeben Datenbankprogrammierung 1
Dimax MySQL Maximale Datenlänge für eine Spalte einer Datenbank in java ermitteln Datenbankprogrammierung 15
A MySQL Select und Insert in Java Datenbankprogrammierung 15
C Derby/JavaDB Auf Variable aus Link in java server page zugreifen Datenbankprogrammierung 4
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
F MySQL Einfügen von Datensätzen über Java Datenbankprogrammierung 8
B CSV in Java einbinden und Rechnung Datenbankprogrammierung 7
L Speicherverbrauch Java Anwendung mit einer Datenbankanbindung Datenbankprogrammierung 19
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
L Java- Zähle alle Werte aus der Tabelle von aktiver Zelle Datenbankprogrammierung 12
S Datenbank/Java true/false Datenbankprogrammierung 8
S Java und SQL-Befehle Datenbankprogrammierung 6
L INSERT INTO Befehl in Java Datenbankprogrammierung 8
L Datenbankprogrammierung mit Java und phpMyAdmin Datenbankprogrammierung 4
Korvinus Java mit Cassandra verbinden Datenbankprogrammierung 18
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
D Installation von MariaDB in java und eclipse Datenbankprogrammierung 2
H Datenbank Export mit Java Datenbankprogrammierung 3
I MariaDB-Verbindung in JAVA Datenbankprogrammierung 11
L Oracle Datenbank über Java aufrufen Datenbankprogrammierung 29
W Daten in Java intern abfragen Datenbankprogrammierung 1
W MySQL Ausgabe von Datenbank in Java-App Datenbankprogrammierung 6
D Java Datenbanken Datenbankprogrammierung 1
Y H2 H2 foreign key in Spark Java ausgeben Datenbankprogrammierung 1
J Java Eclipse Hilfe beim Programmieren Datenbankprogrammierung 7
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
R Java-Befehle/Operatoren für copy&paste Datenbankprogrammierung 2
C Mit asm laufende Java Anwendung manipulieren Datenbankprogrammierung 1
W Wie liest dieses Java-Programm der Compiler? Datenbankprogrammierung 3
K Java Datenbank auslesen Datenbankprogrammierung 8
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
K HSQLDB .sql Script Aufruf über Java Datenbankprogrammierung 7
B Java Programm und Dantebank umlagern Datenbankprogrammierung 25
B MySQL bplaced Datenbank mit Java ansprechen Datenbankprogrammierung 11
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
F Java Objekte in einer Datenbank speichern Datenbankprogrammierung 4
perlenfischer1984 Java Objecte speichern mit Hibernate ? Datenbankprogrammierung 2
B Probleme mit java.sql.SQLException: ResultSet closed Datenbankprogrammierung 21
O PostgreSQL Java Row Index erhalten Datenbankprogrammierung 1
dzim Cassandra Cluster DB und der Java-Treiber Datenbankprogrammierung 1
H Entity in Java implementieren Datenbankprogrammierung 13
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
D MySQL Many to Many Tabellen in Java abbilden? Datenbankprogrammierung 4
P Datanbank für Java-Programmierung Datenbankprogrammierung 10
F Java SQLite Error Datenbankprogrammierung 19
F SQL Datenbank an Java Code anbinden Datenbankprogrammierung 5
J Java 8 und Microsoft Access Database-Dateien(mdb) Datenbankprogrammierung 1
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
H SHOW Tables in Java/MySQL Datenbankprogrammierung 8
M Verbindung von Java Programm zur Acccess Datenbank (mdb-Datei) Datenbankprogrammierung 0
M Feedback für neues Buch über "Java und Datenbanken" erwünscht Datenbankprogrammierung 8
M Wie übergebe ich Datenbankobjekte aus einer sql-Datenbank einer Java Klasse bzw. Instanz Datenbankprogrammierung 7
D Zeit von SQL nach Java Datenbankprogrammierung 2
M JAVA Derby INSERT probleme Datenbankprogrammierung 12
M Java Datenbankanbindung funktioniert nicht Datenbankprogrammierung 4
N Wie in Java Zugriffe und Updates auf eine Datenbank regeln ? Datenbankprogrammierung 1

Ähnliche Java Themen

Neue Themen


Oben