Mysql "live" Ansicht

Moo

Mitglied
Ich habe vor mit Java ein GUI zu schreiben das den Inhalt einer Mysql Datenbank ausgibt. Dieser soll sich aber möglichst in "Echtzeit" (ca. 1-2 Sekunden) aktualiesieren. Warum Java? -> weil das ganze Plattformunabhängig werden soll.

Daten aus einer Mysql Datenbank in einen Vektor zu schreiben und anschließend in einer JTable auszugeben habe ich bereits anhand eines "Tutorials" ans laufen gekriegt.

Nun meine Frage:
  • Ist diese Methode, gerade in Bezug auf die ständigen aktualisierungen, die Daten in einen Vektor zu schreiben und diesen auszugeben oder wie ich es bereits in einem anderen Tutorial gesehen habe das ganze über Objekte anzugehen?
 

kaoZ

Top Contributor
Das ganze über Objekte anzugehen macht schon sinn wenn man sich für eine OOP entscheidet ^^

Man könnte das ganze über einen gesonderten Thread lösen , der z.B die View alle 1-2 sekunden zwingt sich zu aktuallisieren.

Dazu würde ich mich auch gleich mal in das Observer, bzw MVC / MVP pattern einlesen.
 

Moo

Mitglied
Ich hab mir das Thema Observer gerade einmal bei GalileoComputing durchgelesen. Allerdings versteh ich nicht wie mich das weiterbringen könnte.
 

kaoZ

Top Contributor
Der Observer / bzw eines der Patterns wird wichtig wenn du Clienten ( z.B alle angemeldeten Nutzer ) darüber benachrichtigen möchtest das sich an z.B Werten in deiner Tabelle irgendwas geändert hat, desweiteren solltest du um Plattformübergreifend agieren zu können , dein View ( also die GUI ) von deiner Logik trennen, um deine Tabelle ohne Probleme auf unterschiedlichen Endgeräten / Betriebssystemen / Plattformen darzustellen zu können und ggf. Das GUI an die jeweiligen gegebenheiten anpassen zu können ohne bestehenden Code ändern zu müssen .

ein Separater Thread ist wichtig da du sonst die Anzeige für jeglich andere Aktionen blockierst, wenn alle 1-2 Sekunden aktualisiert wird.

mal eben schnell Copy & Paste wird dich da glaube ich nicht viel weiterbringen :)

[EDIT]soll deine "GUI" nichts anderes machen als die Tabelle optisch darzustellen und und im Hintergrund alle 1-2 Sekunden zu aktualisieren ? [/EDIT]
 
Zuletzt bearbeitet:

Moo

Mitglied
Achsoo. Richtig, das GUI ist schlichtweg nur zum anzeigen gedacht. Es muss nicht auf irgenwelche Veränderungen reagieren und auch der Betrachter muss damit nicht interagieren können.

Und das das kein einfaches Copy & Paste wird war mir schon klar ;)
 

kaoZ

Top Contributor
Dann könntest du einfach eine neue Klasse erstellen welche deine GUI darstellt, die z.B in einem JPanel deinen Vector optisch, z.B in Form eine JTable darstellt, und eine Methode schreiben die halt alle 1-2 sekunden prüft ob die Daten in deinem Vector immernoch die gleichen sind oder ob sich was geändert hat, das würdest du dann in einem Separaten Thread erledigen , und bei bedarf einfach die Darstellung in deinem JPanel / der JTable aktualisieren.
 
Zuletzt bearbeitet:

Tobse

Top Contributor
Mir stellt sich da eher die Frage, ob es sinn macht, alle 1-2 Sekunden die komplette datenbank neu zu laden (auch einzelne Tabellen wären problematisch).
Ich hielte einen simplen aktualisieren-knopf für deutlich sinnvoller...
 

turtle

Top Contributor
Stimme Tobse zu, das es zu Problemen führt, alle 1-2 Sekunden einen Round-trip auf die DB zu machen.

Wenn das mehrere hundert Clients machen, wird wohl die DB sehr belastet.

Da ist wirklich ein Knopf "Aktualisieren" sinnvoller.
 

kaoZ

Top Contributor
Ob das Sinn macht war nicht dir Frage ^^

ist es möglich : JA

macht es Sinn : Nein

deswegen habe ich auch geschrieben , man könnte in einem Separaten Thread prüfen ob sich an den Daten in dem Vector was geändert hat, und bei bedarf den View aktualisieren , selbstverständlich macht da ein "Aktualisieren" Button mehr Sinn, alleine schon da diese Lösung wesentlich weniger Speicher und Ressourcen verbrauchen würde (anstelle eines im Hintergrund "Endlos" laufenden Threads).

Was bringt der Tabelle das, sich zu aktualisieren wenn keiner zuschaut :lol:

[EDIT]Es galt lediglich um das aufzeigen einer Möglichkeit, da anscheinend wenig, bis kein Hintergrundwissen über OOP vorhanden zu sein scheint :)[/EDIT]
 
Zuletzt bearbeitet:

Tobse

Top Contributor
Ob das Sinn macht war nicht dir Frage ^^
Ich weiss, dass es schlechter Ton ist in einem Thread das vorhaben des TEs in Frage zu stellen aber bei dieser Frage... musste das sein :LOL.

Nein, im ernst @TE:

Wenn du eine ständig aktuelle Ansicht haben willst ist es schon problemlos möglich für eine oder zwei Tabellen alle paar Sekunden diejenigen Werte neu abzurufen, die dem User grade angezeigt werden (vllt auchnoch 100 Zeilen +-). Aber alles darüber hinaus stresst die DB unnötig und wenn du pech hast schmiert sie dir regelmäßig ab. Zudem bleibt weniger Traffic für deine User übrig und das wäre schade.
 

Ruzmanz

Top Contributor
Kenne mich mit MySQL nicht aus. Eine allgemeine Lösung ist, dass man in einer zusätzlichen Spalte einen Timestamp mit der letzten Aktuallisierung speichert und sich nur die Datensätze ab einem bestimmten Zeitpunkt ausgeben lässt. Den Index sollte man nicht vergessen. Dürfte die Datenbank / Traffic nicht so stark belasten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C No suitable driver found for jdbc:odbc:mysql Java Basics - Anfänger-Themen 8
E Mysql Update wenn es nicht existiert insert Java Basics - Anfänger-Themen 14
Dimax In Java File (nicht in Java Projekt) mysql Driver importieren Java Basics - Anfänger-Themen 3
H Verbindungsprobleme BluJ und MySQL Java Basics - Anfänger-Themen 1
R Java mit MySQL - Verbindungsprobleme Java Basics - Anfänger-Themen 1
B Arquillian installieren - Maven, WildFly, MYSQL Java Basics - Anfänger-Themen 1
M Java Mysql ausführbare datei Java Basics - Anfänger-Themen 7
B MySQL (jdbc) -> connection liefert NULL Java Basics - Anfänger-Themen 3
J Java Verbindung mit mysql Datenbank Java Basics - Anfänger-Themen 3
J MySQL Datumsabfrage über ResultSet in Java-Servlet Java Basics - Anfänger-Themen 4
Dimax Programme ,als Text in MySql speichern Java Basics - Anfänger-Themen 7
R Keine Verbindung zu MySql über Netbeans Java Basics - Anfänger-Themen 15
R Input/Output Verbindung mit mySql-Datenbank Java Basics - Anfänger-Themen 9
Q-bert MYSQL-Eintrag Java Basics - Anfänger-Themen 2
J Sonderzeichenproblem bei Datenabfrage in MySQL Java Basics - Anfänger-Themen 6
F Java MySQL Java Basics - Anfänger-Themen 3
C JTable update mit MySQL Datenbank Java Basics - Anfänger-Themen 1
D zu viele MySQL Connections Java Basics - Anfänger-Themen 18
D MySQL Abfrage in JTable speichern Java Basics - Anfänger-Themen 43
D NPE beim laden von Daten aus MySQL Java Basics - Anfänger-Themen 9
D Eine MySQL Verbindung in mehreren Klassen Java Basics - Anfänger-Themen 8
D JTable Zeile wird nicht in MySQL gelöscht Java Basics - Anfänger-Themen 16
D Datum aus Swing in MySQL DB speichern Java Basics - Anfänger-Themen 22
B MySQL starten / stoppen -> Stoppen erzeugt neuen Prozess Java Basics - Anfänger-Themen 0
B MySQL Path bekommen Java Basics - Anfänger-Themen 40
P Brauche Hilfe bei ResultSet mit MySQL Java Basics - Anfänger-Themen 6
H JAva und MySQL Java Basics - Anfänger-Themen 1
S Best Practice MVC und große Datenmengen aus einer mySQL - Datenbank Java Basics - Anfänger-Themen 24
U Glassfish mit MySQL verbinden Java Basics - Anfänger-Themen 1
N Erste Schritte MySQL Tabelle in JList darstellen Java Basics - Anfänger-Themen 1
A Erste Schritte Verbindung zu MySQL Datenbank herstellen Java Basics - Anfänger-Themen 7
W MySQL PreparedStatement query Problem Java Basics - Anfänger-Themen 10
K Classpath Mysql EclipseFehler? Java Basics - Anfänger-Themen 12
M Aktuelles Datum in MySQL speichern Java Basics - Anfänger-Themen 11
V Umlaute in mysql, antscript, powershell utf-8 Java Basics - Anfänger-Themen 7
H mysql brauche hilfe, wer kann eine (längere) aufgabe für mich erledigen Java Basics - Anfänger-Themen 2
S in MySQL Daten Bank speichern Java Basics - Anfänger-Themen 8
N mit Werten aus einer mysql datenbank in java rechnen Java Basics - Anfänger-Themen 17
T MySQL - Java Organisationsfrage Java Basics - Anfänger-Themen 4
S ArrayList in mysql Datenbank speichern Java Basics - Anfänger-Themen 6
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
D Mysql ob feld existiert Java Basics - Anfänger-Themen 2
D Mysql schauen Name bereits existiert Java Basics - Anfänger-Themen 7
X MySQL - Query Java Basics - Anfänger-Themen 3
J JAVA zu unsicher für MYSQL? Java Basics - Anfänger-Themen 4
S JDBC MySQL Connector - Element mit ' eintragen? Java Basics - Anfänger-Themen 4
F Verbindung zu MySql Datenbank Java Basics - Anfänger-Themen 4
K In MySQL Select Variablen aus Java Programm benutzen Java Basics - Anfänger-Themen 8
N Java dateFormat und Mysql DateTime Java Basics - Anfänger-Themen 2
B Java MySQL Query ausgeben Java Basics - Anfänger-Themen 4
J Java JDBC MySQL Query Java Basics - Anfänger-Themen 6
S mysql-connector-java-*.jar, MySql ResultSet - Alle ROWs ausgeben? Java Basics - Anfänger-Themen 3
S Datentypen EclipseLink, Datumsformat für MySQL Java Basics - Anfänger-Themen 9
S Resultset Closed (Mysql) Java Basics - Anfänger-Themen 5
K MySQL, Classpath, Java, MAC OSX Java Basics - Anfänger-Themen 3
O HashMap<> in MySQL database speichern Java Basics - Anfänger-Themen 3
D Mysql Connection Close? Java Basics - Anfänger-Themen 14
M Java - MySQL (Eclipse Java EE Web Developers) Java Basics - Anfänger-Themen 4
D Frage MySQL Columnheader Java Basics - Anfänger-Themen 2
D Java mit Mysql Datenbank angebunden Java Basics - Anfänger-Themen 5
I Null - Wert bei Date (Mysql) Java Basics - Anfänger-Themen 2
D Verständnisfrage: Java und MySql Java Basics - Anfänger-Themen 3
P Applet und MySQL-Problem Java Basics - Anfänger-Themen 20
P Applet, Daten IO, MySql Java Basics - Anfänger-Themen 2
T MySQL-Dienst starten und stoppen aus Netbeans Java Basics - Anfänger-Themen 3
A Java und MySQL!!! Java Basics - Anfänger-Themen 3
Kasoki Java und MySQL ? Java Basics - Anfänger-Themen 4
S CSV-Datei einlesen und in MySql schreiben Java Basics - Anfänger-Themen 3
M mysql-connector-java-5.1.7-bin. jar in die umgebungsvariable installieren Java Basics - Anfänger-Themen 14
A Frage zu java und MySQL Java Basics - Anfänger-Themen 3
J MySQL Timestamp "lesbarer" gestalten Java Basics - Anfänger-Themen 6
J Fehler bei MySql Anbindung mit JDBC Java Basics - Anfänger-Themen 4
W MySQL Driver als Resource laden Java Basics - Anfänger-Themen 5
D MySQL Abfrage. keine Ahnung Java Basics - Anfänger-Themen 5
M 5 MySql Tabellen in JTable - variable TableHeader? Java Basics - Anfänger-Themen 2
K Verbindung zu MySQL Java Basics - Anfänger-Themen 4
G wie erfragt man die letzte ID in einer MySQL Datenbank ab? Java Basics - Anfänger-Themen 3
S MySQL - connection Java Basics - Anfänger-Themen 8
S Zyklisches abspeichern von Daten aus einr MySql Datenbank Java Basics - Anfänger-Themen 9
B Client - Server Verbindung über sockets mysql DB ansprechen? Java Basics - Anfänger-Themen 6
G simple suche in java - mysql Java Basics - Anfänger-Themen 10
G Java und mySQL Hilfethread Java Basics - Anfänger-Themen 12
W Java.mysql.date in GregorianCalender konvertieren Java Basics - Anfänger-Themen 2
W Aus Textfeld ein "MySQL Date" auslesen Java Basics - Anfänger-Themen 2
W Endlosscshleife bei MySQL Abfrage Java Basics - Anfänger-Themen 5
N Problem mit MySql und Java Java Basics - Anfänger-Themen 12
P mySQL Datenbanktreiber nutzen Java Basics - Anfänger-Themen 2
J Statement an MySQL Datenbank schicken Java Basics - Anfänger-Themen 4
S Tabelsorter von SUN, wie muss die MysQL Anbindung realisiert Java Basics - Anfänger-Themen 11
J Zugriff auf eine Mysql-DB unter Linux Java Basics - Anfänger-Themen 6
G Mysql escape // html untauglich machen Java Basics - Anfänger-Themen 3
X Java & MySQL Java Basics - Anfänger-Themen 7
D Datenbankprogrammierung mit MYSQL. Java Basics - Anfänger-Themen 7
F Daten in MySQL Tabelle schreiben Java Basics - Anfänger-Themen 9
P wie erzeuge ich ein java date und lade in die mysql datebank Java Basics - Anfänger-Themen 5
M JSP --> Verbindung zur MySQL Datenbank geht nicht ! HILFF Java Basics - Anfänger-Themen 7
G POI und MySQL Java Basics - Anfänger-Themen 2
G in eine Tabelle mit mySQL eine Zeile hinzufügen Java Basics - Anfänger-Themen 17
G MySQL Tutorial Java Basics - Anfänger-Themen 2
X 1 MySQL-Verbindung und viele Threads Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben