MySQL DB Abfrage in Array, gemischte Array, generelles vorgehen

Wolpertinger

Neues Mitglied
Hallo,

ich arbeite grad an meinem ersten Java Projekt und bin kein geübter Programmierer.
Für den Bereich Messen und Regeln habe ich eine kleine GUI geschrieben.
Ein paar Messwerte anzeigen und per Button schalten geht auch schon.

Nun habe ich eine MariaDB (JDBC) und einen Table welcher 8 Spalten hat und ca. 3000 Reihen.
In diesem Table gibt es 3 Spalten ( Spalte 1 – 3) in denen Werte stehen aus denen etwas berechnet wird und das Ergebnis in andere Spalten (Spalte 6 – 8) des gleichen Table zurückgeschrieben werden sollen.

Meine Vorstellung ist:

Button Drücken >
DB verbinden und die Anzahl der Reihen ermitteln.
Danach die Spalten 1 – 3 in ein Array lesen.
Hier gibt es aber Integer und Dezimal Werte, wie gehe ich damit um?
Dann die Berechnung für jede Zeile im Array durchführen
Das Ergebnis in ein neues Array schreiben für Spalte 6 – 8
Das ganze soll eine Schleife machen mit der Anzahl der ermittelten Reihen.
Ganz am Ende soll dann das Array den Inhalt in die DB schreiben in die Spalten 6 – 8.
Ist diese vorgehen mit dem Array sinnvoll, ich habe gelesen, dass es auch Listen gibt?
Wie kann ich das Ganze möglichst schnell abarbeiten?
Kann man im Array überhaupt Integer und Dezimal mischen?
Ich hab bereits sehr viel gelesen und vielleicht auch zu viel oder das Falsche.
Bei all den Beiträgen, Dokus bin ich langsam etwas planlos.

Gibt es für sowas Beispiele die das Thema gemischte Array lesen, in Schleife verarbeiten und neues Array zurück in die DB schreiben behandeln?
Jegliche Tips sind sehr willkommen!
 
K

kneitzel

Gast
Erst einmal die Frage: Was für Berechnungen willst Du denn machen? Eine Möglichkeit wäre, diese Berechnung dann evtl. direkt von der Datenbank machen zu lassen und du würdest dann nur ein einzelnen UPDATE Aufruf auf der Datenbank starten. (Das wäre ggf. das schnellste)

Ansonsten ist die Verwendung von Arrays eher selten. Da kann man tatsächlich einfach eine der vorhandenen Klassen des Frameworks nutzen.

Und der Aufbau ist dann halt so, dass Du die Elemente eines Datensatzes in einer Liste oder so speicherst (und wenn es ein array sein soll, dann halt ein array). Also kein "gemischtes" Array sondern halt von einem klar definierten Typ!

Generell wäre es auch super, wenn Du identifizieren kannst, für welche Datensätze noch eine Berechnung durchgeführt werden muss und welche da schon fertig sind. Dann kann man die Berechnung auch in mehreren Schritten durchführen (also z.B. in Batches zu jeweils 50 Datensätzen oder so).
 

Wolpertinger

Neues Mitglied
Die Berechnung ist mit ca. 150 Zeilen schon eher komplex.
Wenn ich die 3 Variablen vorgebe, dann funktioniert die Berechnung auch recht gut.
Auch eine Schleife welche 3000 mal durchlaufen wird funktioniert, die hab ich nur genommen um die Geschwindigkeit zu testen.

Vielleicht wäre für mich der passender Ansatz ArrayList<> weil er Generic ist?

Generell muss die Berechnung für alle Datensätze gemacht werden da es sich um eine Kalibrierung handelt.
 

Salzzy

Mitglied
Ich weiß nicht genau mit welchem Treiber du die Verbindung aufbaust, sollte es aber ein normaler ODBC-Treiber sein kannst du einfach bei jedem Resultset durch das du iterierst die Berechnung durchführen und dieses Ergebnis ganz einfach wieder in die Datenbank schreiben. Somit hast du auch dein ganzen Mischen Problem mit den Datentypen nicht.
 
K

kneitzel

Gast
Das ist natürlich auch eine valide Idee von @Salzzy und das geht mit JDBC auch vergleichbar. Siehe https://docs.oracle.com/javase/tutorial/jdbc/basics/jdbcrowset.html

Sprich: Es würde reichen, die Datenbank abzufragen, im JdbcRowSet Zeile für Zeile durchgehen, die Berechnungen durchführen und Werte setzen und dann die Zeile am Ende speichern.

Das mag für eine kleine Lösung durchaus ausreichen, wobei ich halt eher dazu neige, da mit den "üblichen" Mitteln heran zu gehen, d.h. Entity Klassen, DataLayer (ggf. automatisch über z.B. Hibernate und Annotations in den Entities) und dann die entsprechende Business Logik und so. Aber das kann hier durchaus Overkill sein.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JSON Array abfrage beschleunigen Datenbankprogrammierung 2
K Ergebnis aus SQL Abfrage in Array speichern Datenbankprogrammierung 3
B Wie kann ich eine Jtable mit Inhalt einer SQL Abfrage füllen Datenbankprogrammierung 14
J SQLite Abfrage fehlerhaft - komme nicht weiter - please help. Datenbankprogrammierung 3
L PostgreSQL Abfrage mit EclipseLink Datenbankprogrammierung 7
S Berechnung des Datumsunterschieds in der SQL-Abfrage Datenbankprogrammierung 1
Zrebna Probleme bei Überführung von SQL-Code in eine HQL-Abfrage Datenbankprogrammierung 3
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
M Alle Records Felder kriegen für DB Abfrage Datenbankprogrammierung 14
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
nonickatall MySQL SQL Abfrage erneut ausführen oder rs aktualisieren Datenbankprogrammierung 14
Kirby.exe Verständnisproblem bei SQL Abfrage Datenbankprogrammierung 27
N SQL-Abfrage in JTextField ausgeben Datenbankprogrammierung 6
N java sql abfrage bestimmer Datumszeitraum Datenbankprogrammierung 9
F Mapping einer SQL Abfrage in eine Klasse Datenbankprogrammierung 4
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Bluedaishi Datenbank Abfrage Datenbankprogrammierung 36
D SQL Abfrage optimieren Datenbankprogrammierung 35
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
D Regelmäßige Abfrage aus Workbench Datenbankprogrammierung 6
M SQL-Statement Hilfe bei SQL-Abfrage Datenbankprogrammierung 2
D Abfrage - Spalte(Datum) ändern (Oracle) Datenbankprogrammierung 7
D Datenbank Abfrage Datenbankprogrammierung 7
H MySQL Benutzer Login System mit Datenbank Informationen (Abfrage zu User ist auf DB gesichert) Datenbankprogrammierung 42
D MySQL Abfrage mit kumulierten Werten Datenbankprogrammierung 16
M MySQL Anbindung und Abfrage an die Datenbank Datenbankprogrammierung 2
RowdyN SQLite Einfache Abfrage mit temporäre Tabelle, die nur innerhalb der Abfrage gültig ist Datenbankprogrammierung 0
E Abfrage auf HSQLDB Datenbankprogrammierung 4
M MySQL SQL Abfrage in JTable mit Berechnung Datenbankprogrammierung 3
S Abfrage von Gruppentickets(Mehrere Resorts an einem Tag) Datenbankprogrammierung 1
S SQL Abfrage Datenbankprogrammierung 2
F Abfrage der letzten Einträge Datenbankprogrammierung 2
J SELECT Abfrage/Suche Datenbankprogrammierung 4
U SQLite Für mich etwa komplexe Abfrage via 2 Tabellen Datenbankprogrammierung 5
OnDemand SQL Abfrage und Equals Datenbankprogrammierung 4
B MySQL MySQL-Abfrage von aufsummierter Zeit Datenbankprogrammierung 3
M MySQL MySQLSyntaxError in Java, obwohl Abfrage in HeidiSQL korrekt Datenbankprogrammierung 2
ruutaiokwu sql abfrage mit rekursion, mit oder ohne cte... Datenbankprogrammierung 5
J SQLite Abfrage ausführen stoppt für Zyklus? Wie es zu lösen? Datenbankprogrammierung 3
L JSONArray/JSONObject MySQL-Servlet Abfrage Datenbankprogrammierung 2
H Derby: SYSCS_UTIL.SYSCS_EXPORT_QUERY mit String Abfrage in wehre-Klausel nicht möglich Datenbankprogrammierung 3
L SQL-Abfrage bricht vor dem Ende ab Datenbankprogrammierung 2
S MySQL Abfrage über mehrere Tabellen + Einträge werden überschrieben Datenbankprogrammierung 1
M Derby/JavaDB Komplexe Abfrage vereinfachen Datenbankprogrammierung 2
S SQL-Abfrage, Filewriter .txt Datei Datenbankprogrammierung 2
P Datenbank- Abfrage mit null'en Datenbankprogrammierung 2
Bluedaishi MySQL Abfrage Problem :-) Datenbankprogrammierung 21
D MySQL Erstellen der richtigen Abfrage Datenbankprogrammierung 3
D MySQL DB Abfrage Prüfen Datenbankprogrammierung 10
D JDBC insert mit select abfrage Datenbankprogrammierung 5
E PostgreSQL Exception too ...many clients already bei DB-Abfrage Datenbankprogrammierung 14
M MySQL SQL Abfrage Problem Datenbankprogrammierung 6
W No data found: SQL-Abfrage funktioniert nur beim Debuggen Datenbankprogrammierung 3
E Abfrage nach existierender SQL-Tabelle Datenbankprogrammierung 7
S MySQL Abfrage: Wenn Feld leer, alles anzeigen Datenbankprogrammierung 5
Mrtwomoon Abfrage-Ergebnisse in einem Fenster darstellen Datenbankprogrammierung 8
0 SQL Abfrage Bestellung Datenbankprogrammierung 15
G SQLite SQLite Abfrage Datenbankprogrammierung 4
C Mit jsp über Java eine DB Abfrage durchführen --> java.lang.ClassNotFoundException Datenbankprogrammierung 4
Dit_ Hibernate, effiziente SQL-Abfrage definieren Datenbankprogrammierung 5
B My-SQL Abfrage - Out Of Memory Error Datenbankprogrammierung 13
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
K SQLite Einfache DB-Abfrage Datenbankprogrammierung 2
C Problem mit SQL-Abfrage Datenbankprogrammierung 5
C Sortierung bei SQL-Abfrage Datenbankprogrammierung 3
B Bei Abfrage schießt der Speicher in die Höhe Datenbankprogrammierung 6
M SQL Abfrage Dupliakte bei Kreuzvergleich Datenbankprogrammierung 2
M Access Abfrage mit Parameter & Access/Java liefern unterschiedliche Ergebnisse Datenbankprogrammierung 2
G SQL Abfrage Datenbankprogrammierung 5
C SQL-Abfrage Datenbankprogrammierung 4
B SQL-Abfrage Datenbankprogrammierung 4
R SQL Abfrage, je nach ausgewählten Parametern Datenbankprogrammierung 11
C Wert in SQL-Abfrage zählen lassen Datenbankprogrammierung 8
R Memory leaks bei DB Abfrage Datenbankprogrammierung 16
S Abfrage auf SQLite-DB Datenbankprogrammierung 2
I Belastet es das System zu sehr einen Timer jede 0.2 Sekunden eine DB Abfrage machen zu lassen? Datenbankprogrammierung 9
L MySQL Probleme mit PreparedStatement für SQL-Abfrage in Java Datenbankprogrammierung 2
G Abfrage von Teilnehmern Datenbankprogrammierung 4
B HSQLDB Probleme mit Select...Where Abfrage Datenbankprogrammierung 16
G JOIN Abfrage über mehrere Tabellen Datenbankprogrammierung 15
F MySQL SQL Abfrage für u.a. Spaltenname key Datenbankprogrammierung 4
G SQLite Abfrage, ob in Tabelle X Spalte Y existiert Datenbankprogrammierung 4
A MySQL Ergebnss aus SQL Abfrage in Hauptklasse verwenden Datenbankprogrammierung 3
N Geschwindigkeit bei if Abfrage Datenbankprogrammierung 11
J sql abfrage ... Problem mit Datumswert Datenbankprogrammierung 3
G Performante SQL- Abfrage (LIKE %) Datenbankprogrammierung 21
G Join Abfrage Datenbankprogrammierung 12
M db abfrage fehlerhaft Datenbankprogrammierung 5
C MySQL Abfrage mit flexibler WHERE bedingung Datenbankprogrammierung 10
C Datenbank-Abfrage, if im Select Datenbankprogrammierung 9
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
G SQL Abfrage über mehrere Tabellen Datenbankprogrammierung 28
H SQL Abfrage - zwei tabellen vergleichen. Datenbankprogrammierung 2
H MySQL Datenbank Abfrage Datenbankprogrammierung 10
André Uhres SQL Abfrage erkennt keine Buchstaben mit Akzenten (z. B. é, è) Datenbankprogrammierung 3
E MySQL Klasse zur Abfrage statisch oder Standard Datenbankprogrammierung 5
J Mit einer Abfrage Worte suchen die in Zwei Tabellen enthalten sind Datenbankprogrammierung 5
G M:N Abfrage Datenbankprogrammierung 2

Ähnliche Java Themen


Oben