MySQL DB Daten aktualisieren

b0312

Mitglied
Hallo allerseits,

ich arbeite gerade an einem Java-Client der auf eine mySQL DB zugreift.
Die Anbindung erfolgt mit MyBatis, die Resultate der Abfragen werden in Lists von mir erstellten Typen geschrieben. z.B.

Java:
List<Auftrag> auftragList;
Java:
//Auftrag.java
int auftragNr;
String auftragText;
List<Vorgang> vorgangList;
...
//getter & setter Methoden
...
[/Java]
[Java]
//Vorgang.java
String info;
int id;
...
//getter & setter Methoden
[/Java]
[Java]
//MyBatis.java
//Holen & Ausführen der Abfragen
List<Auftrag> getDBAuftragList(){
List<Auftrag> auftragList = new ArrayList<Auftrag>();
auftragList = sqlSession(...);
return auftragList;
//SQL-Befehle sind in einer XML-Datei
}
Object sqlSession(paramter,..){
}

[/Java]

Nun möchte ich es so realisieren, das beim Programmstart meine ganzen Listen gefüllt werden (Aufträge, Vorgänge, etc...), der Inhalt dieser Listen wird verändert durch Interaktionen des Users am Client.
Die veränderten Daten der Listen müssten dann an die DB übergeben werden mit einem UPDATE befehl.

Frage: ???:L
1.Wie kann ich es schaffen, das meine Listen beim Programmstart gefüllt werden und dann immer Verfügbar sind ?
2.Wenn der Inhalt der Listen verändert wird (z.B. der User schreibt im Client einen Info-Text zu einem Auftrag) müsste ich einen eigenen Thread erstellen, der die veränderten Daten an die DB übergibt ?
 
Zuletzt bearbeitet:

Airborne

Mitglied
1. Du hast einen Einstiegspunkt in deine Applikation. Dort startest du die GUI - und kannst im Hintergrund eine Fassade aufbauen, die dir die Daten vorhält. Das hält die Zugriffszeiten kurz & die Daten beisammen.
Problem dabei: du mußt einen Mechanismus haben, der die Daten auch in die DB auf dem Server einpflegt und somit den Zustand der Applikation aktuell hält:

2. Ein Listener kann dir den Job abnehmen. Somit wird auf Veränderungen reagiert und parallel auf dem Server der Stand der Clients nachgezogen.
 

b0312

Mitglied
Wenn ich das richtig verstanden habe, sieht das ganze dann so aus:

Java:
//Produktion.java

private List<Auftrag> auftragList;
private List<Arbeitsplatz> arbPlzList;

void start(){
MyBatis db = new MyBatis();

auftragList = db.getDBAuftragList();
arbPlzList = db.getDBarbPlzList();
}

//getter & setter Methoden für die jeweiligen Listen

Java:
//Main.java
public static void main(String args[]){

Produktion produktion = new Produktion();
produktion.start;

Beispielklasse bsp = new Beispielklasse(produktion);
//Das Objekt produktion muss dann immer mitgegeben werden ?
}
[/Java]

d.h. ich muss das Objekt produktion dann an jede Klasse übergeben, die es benötigt ?
 
Zuletzt bearbeitet:

Airborne

Mitglied
Viel einfacher:

Java:
public class MyFacade{

  private static MyFacade oMyFacade = new MyFacade();

  public MyFacade(){
    myFunkyInitParty():
  }

  public static MyFacade getInstance() {
    return oMyFacade;
  }

}

Darin kannst du dir Objekte, Listen, einzelne Variablen etc halten.

mit
Java:
MyFacade.getInstance()

holst du dir die Fasade wann immer du sie brauchst.
 

Airborne

Mitglied
Ich glaube nicht, dass er jetzt noch das Pferd wechselt.

Die Applikation scheint bereits zu bestehen, da ist der Ansatz recht leicht einzupflegen.
 

b0312

Mitglied
Ich kann ja auch das Objekt produktion jedes mal übergeben, falls es besser ist.

Das Programm besteht bereits, eine recht umfangreiche Umkrempelung möchte ich mir nicht nochmal antun :eek: .
Ich hab es mir schon mal angetan und das Projekt von vorne wieder begonnen ^^

Wie ist es jetzt eigentlich wenn z.B. die Arbeitszeit eines Arbeitsplatzes verändert wird z.B.
Java:
//Arbeitsplatzgruppe.java
...
List<Arbeitsplatz> arbPlz;
...
//getter, setter
Java:
//Arbeitsplatz.java
....
List<Kapa> kapaList;
...
//getter, setter
Java:
//Kapa.java
...
Date start;
Date end;
...
//getter, setter
Java:
//Beispielhafter Zugriff
List<Arbeitsgruppe> arbGrp = Produktion.getInstance().getArbGrpList();
          List<Arbeitsplatz> arbList = arbGrp.get(5).getArbList();
          Arbeitsplatz arb = arbList.get(2);
          List<Kapa> kapaList = arb.getKapaList();
          Kapa kapa = kapaList.get(25);
          kapa.setStartDate(/*neuesDatum*/);
          kapa.setEndDate(/*neuesDatum*/);

sieht doch ziemlich... verschachtelt aus ^^ .
Wenn ich in einer anderen Klasse wieder Produktion.getInstance() aufrufe, wird dann die aktualisierte Kapa dabei sein o_O ?
 
Zuletzt bearbeitet:

Airborne

Mitglied
Die Klasse Produktion gibt über getInstance() eine Instanz ihrer selbst her, da sollte alles drin sein und auch alle Werte rein gebracht werden.
Was nicht klappt ist wenn du mit
Code:
new Produktion()
danaben her werkelst, davon bekommt die Instanz dann nix mit und das ist dann auch nicht abrufbar.
 

b0312

Mitglied
zu 2.) Listener:
Hatte mit Listener bis jetzt nicht sehr viel am Hut, ausser die die schon von der Entwicklungsumgebung erzeugt wurden,

wie kann ich denn einen Listener bauen, der reagiert, wenn im objekt produktion etwas verändert wird bzw. kann mir dann auch mitgeteilt werden was verändert wurde ?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
OnDemand MySQL Daten aktualisieren Datenbankprogrammierung 6
D Alte Daten ins neue Modell quetschen Datenbankprogrammierung 6
R Mongodb Daten werden immer überschrieben Datenbankprogrammierung 7
R Mongodb Daten in einem bestimmten Document speichern Datenbankprogrammierung 1
OnDemand Daten auf mehrere Tabellen aufteilen oder Spalten nutzen Datenbankprogrammierung 2
B Daten HSQL-DB Datenbankprogrammierung 2
V H2 ManyToMany wie speichere ich die Daten? Datenbankprogrammierung 10
thobren Projekt SQlite! Wie kann ich auf auf SQlite Daten zugreifen? Datenbankprogrammierung 4
OnDemand Daten verschlüsseln Datenbankprogrammierung 42
L Oracle Daten in Häppchen selektieren Datenbankprogrammierung 5
L Oracle Daten von Oracle zu MSSQL übertragen Datenbankprogrammierung 4
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
Z Ausgabe nur bestimmter Daten Datenbankprogrammierung 6
E netbeans - jsp Daten in Datenbank hinzufügen Datenbankprogrammierung 2
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Kirby.exe Vorschläge zur Verschlüsselung von Daten in der DB Datenbankprogrammierung 2
T Java Spiel Daten speichern Datenbankprogrammierung 1
LimDul H2 Embedded DB und Gigabytes an Daten Datenbankprogrammierung 0
C Datenbank anlegen und über eine Website mit Daten füllen? Datenbankprogrammierung 25
R Wie mit zu viele Daten umgehen? Datenbankprogrammierung 2
F MySQL Wie speichere ich Daten zeitlich abhängig? Datenbankprogrammierung 4
T Oracle Normalisierung und Daten splitten Datenbankprogrammierung 1
JG12111989 DB-Daten werden falsch dargestellt Datenbankprogrammierung 7
K H2 Daten in die H2 console DB eintragen Datenbankprogrammierung 2
L SQLite Ändern der Daten in einem UNIQUE Feld Datenbankprogrammierung 1
S Daten von SQLite Datenbank nutzen Datenbankprogrammierung 5
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
L Oracle Daten von einem Server zum andere kopieren Datenbankprogrammierung 24
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
L MySQL Vergleichen von Array-Inhalt, Ausgabe gleicher Daten Datenbankprogrammierung 3
W Daten in Java intern abfragen Datenbankprogrammierung 1
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
W Daten aus einer Datei von einem VServer auslesen Datenbankprogrammierung 1
I MySQL Datenbankstruktur angleichen - Daten behalten Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
P LDAP: Daten eintragen funktioniert nicht Datenbankprogrammierung 7
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
O mit Multi-Thread Daten aus Datenbank lesen und schreiben Datenbankprogrammierung 22
F Daten verdichten Datenbankprogrammierung 0
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
B Daten aus DB in Word Dokument Datenbankprogrammierung 2
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
D Daten posten auf RestApi (Mongodb/NoSQL) Datenbankprogrammierung 0
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
D Daten von einem Server in eigenem Java-Programm benutzen Datenbankprogrammierung 6
M Vergleich von Daten in verschiedenen Tabellen Datenbankprogrammierung 1
S Daten aus Form in Datenbank nur einmal eintragen Datenbankprogrammierung 2
6 JBDC Daten verschlüsseln? Datenbankprogrammierung 2
F MySQL Daten ändern über Java Datenbankprogrammierung 3
G SQLite Daten aus SQLite DB in andere SQLite DB importieren Datenbankprogrammierung 4
H Grosse Menge an Daten in eine Datenbank Datenbankprogrammierung 32
M Daten nachträglich hinzufügen Datenbankprogrammierung 6
2 MySQL Daten aus einer Array auslesen und MySQL Statment erstellen. Datenbankprogrammierung 5
E Daten einer SQL-Datenbank aus Combobox in labels schreiben Datenbankprogrammierung 6
N HSQLDB Daten Auslesen Datenbankprogrammierung 3
O Viele Verbindungen-Exception bei insert Daten zur MySQL-Datenbank Datenbankprogrammierung 2
P MySql daten in leeren jtable übertragen Datenbankprogrammierung 5
SexyPenny90 SQL Daten sortieren und top 5 ausgeben Datenbankprogrammierung 7
L Hibernat will Daten nicht einfügen??? Datenbankprogrammierung 2
D MySQL Daten werden aus Datenbank gelesen, obwohl sie dort gar nicht angekommen sind Datenbankprogrammierung 8
Kenan89 Oracle Daten einer Tabelle in Array speichern Oracle Datenbankprogrammierung 10
L SQLite Daten werden nicht in die Tabelle eingefügt Datenbankprogrammierung 7
D Übersichtliche Zuweisung von Daten in Tabellen Datenbankprogrammierung 17
C ResultSet enthält nicht alle Daten Datenbankprogrammierung 4
A Problem mit Eintragen von Daten in eine Datenbank mittels DAO Datenbankprogrammierung 4
J Daten synchronisieren in Multi-Client-Anwendungen (Hibernate) Datenbankprogrammierung 6
S JPA: DB Schema ändern und Daten nicht verlieren - wie? Datenbankprogrammierung 5
T MySQL Select: Zusammenfassen von Daten und bilden von Durchschnitt? Datenbankprogrammierung 4
F Daten in die DB hinzufügen Datenbankprogrammierung 7
H Klasse welche Mysql Daten zurück gibt Datenbankprogrammierung 18
S JPA: Problem mit Update von Daten Datenbankprogrammierung 7
H Daten in/aus Datenbank schreiben Datenbankprogrammierung 2
M DropDownBoxen mit MySQL Daten füllen Datenbankprogrammierung 3
E MySQL Daten in die Datenbank eingeben via Java Programm Datenbankprogrammierung 3
F ORA 17410 Keine weiteren Daten aus Socket zu lesen Datenbankprogrammierung 2
B Daten aus Datenbank holen Datenbankprogrammierung 6
T Problem beim schreiben von daten Datenbankprogrammierung 4
N Daten aus Datenbank abfragen und anzeigen in der Praxis?? Datenbankprogrammierung 2
G MySQL Bekomme keine Daten. Datenbankprogrammierung 7
L CLOB-Daten werden beim Einfügen in die Datenbank geändert? Datenbankprogrammierung 5
G Daten aggregieren Datenbankprogrammierung 11
Gossi Oracle 2 Daten (Datum) vergleichen Datenbankprogrammierung 6
W MySQL Daten aus bestimmter Spalte lesen Datenbankprogrammierung 2
E MySQL Befüllen einer MySQL DB mit großen Daten Datenbankprogrammierung 6
J Doppelte Daten in Spalte, nur die erste abrufen wie? Datenbankprogrammierung 15
P Daten aus MySql Datenbank lesen??? Datenbankprogrammierung 6
J Daten vergleichen Datenbankprogrammierung 10
S Daten einer Tabelle vergleichen und ggs neuen Wert einfügen Datenbankprogrammierung 8
X Daten einer DatenbankTabelle in JTable darstellen Datenbankprogrammierung 13
T Designfrage: DB-Daten direkt oder verzögert speichern Datenbankprogrammierung 2
Dragonfire Daten aus jsp Datei in datenbank speichern Datenbankprogrammierung 15
A Daten von Webshop einlesen Datenbankprogrammierung 5
S Daten aus jTextfiled in DB schreiben - SQL Befehl Datenbankprogrammierung 2
T Daten aus DB in variable Zahl an Variablen speichern Datenbankprogrammierung 18
A Datenbankanbindung an mySQL und Ein-/Auslesen der Daten Datenbankprogrammierung 4
D Vector mit Daten aus der Datenbank füllen Datenbankprogrammierung 7
G Daten aus ResultSet in String-Liste Datenbankprogrammierung 13
S Fehler beim Auslesen von Daten Datenbankprogrammierung 6
D Keine Ausgabe der Daten Datenbankprogrammierung 3
G Daten schneller aus einer DB auslesen Datenbankprogrammierung 9

Ähnliche Java Themen

Neue Themen


Oben