Datensätze effektiv einlesen

Status
Nicht offen für weitere Antworten.
T

texton

Gast
Ich möchte Datensätze möglichst effektiv in Arrays einlesen.

Ich stelle mir dazu ein mehrdimensionales Array vor, dessen Elemente jeweils ein Objekt-Array aufnehmen, das einen Datensatz repräsentiert. In einem Element dieses Objekt-Arrays kann ein weiteres Objekt-Array stehen, was Datensätze einer weiteren verknüpften Afrage aufnimmt.

Ist das wirklich effektiv oder kennt jemand bessere Methoden? Beispielcode?
 
T

texton

Gast
Wie gesagt: Datensätze einlesen.

Über JDBC werden die Spalteninhalte ja als Strings eingelesen. Mit den entsprechenden Methoden, z. B. getInt(), kann ich die Zellenwerte gleich ins richtige Format bringen und so im Array speichern.

Die Datenbank soll eingelesen werden, z. B. SELECT * FROM tabelle. Das ResultSet wird der Reihe nach mit next() durchgegangen und jeder erhaltene Datensatz gespeichert. Bisher habe ich dazu Einzelanweisungen in ein Array geschrieben, z. B.:
Code:
class array // innere Klasse
{
   static String spalte1;
   static int spalte2;
   // usw.
}
int i = 0;
while( resultset.next() )
{
   array.spalte1[i] = resultset.getString( spalte1 );
   array.spalte2[i] = resultset.getInt( spalte 2 );
   // usw.
   ++i;
}
Jetzt möchte ich das Ganze über Objekt-Arrays lösen. Wenn ein eingelesener Wert true ist, soll ein Element, das ein weiteres Objekt-Array darstellt, Datensätze eines anderen ResultSets aufnehmen.
Code:
Object[] neu_array = new Object[anzahl_der_erhaltenen_datensätze_aus_resultset1];
Object[] neu_array2 = new Object[anzahl_der_erhaltenen_datensätze_aus_resultset2];
int i=0;
while( resultset.next() )
{
   neu_array[i] = resultset.getString( spalte 1 );
   neu_array[i] = resultset.getInt( spalte 2 );
   boolean b = resultset.getBoolean( spalte3 );
   if( b )
   {
	  resultset2.next();
      neu_array2[0] = resultset2.getString( spalte 1 );
      // usw.
	  System.arraycopy( neu_array2, 0, neu_array, 0, laenge );
   }
   else
   {
      Arrays.fill( neu_array2, "0" );
   }
}
Ich habe die Beispiele nicht auf syntaktische Korrektheit überprüft, hoffe aber, mein Gedanke dahinter ist klar geworden. Sortiert werden müssen die Elemente nicht, da sie bereits sortiert eingelesen werden. Ist meine Methode gut geeignet oder hat jemand Erfahrungen mit besseren, vielleicht über Collections?
 

Ebenius

Top Contributor
Mit meiner Frage meinte ich eigentlich etwas anderes. Ob Felder als Kontainer für Daten geeignet sind oder nicht, hängt doch davon ab, was Du mit den Daten tun möchtest.
 
T

texton

Gast
Die Felder verwende ich im Programm der Einfachheit halber wie Variablen, also z. B. array.spalte1. Nachteil: Ich habe die zu einem Datensatz gehörenden Elemente nicht in einem Objekt versammelt, sondern verwende einen Index i: array.spalte2, array.spalte3. Auch das hat Vorteile: spalte 1 hat bei mir den Inhalte der 1. Spalte für alle Datensätze usw. Nur widerspricht es eigentlich dem Grundsatz, dass zusammengehörige Daten auch zusammengehörig gespeichert werden sollten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Datensätze in DataGrip (IntelliJ) Datenbankprogrammierung 1
nonickatall MySQL Auf neue Datensätze in einer Datenbank reagieren Datenbankprogrammierung 5
J Java fügt Datensätze ein aber diese werden nicht richtig abgefragt Datenbankprogrammierung 3
R MySQL Datensätze in Textdokument Datenbankprogrammierung 7
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
R Große Datensätze, kleine Rechte Datenbankprogrammierung 8
J wie mit resultset.next() über Datensätze iterieren? Datenbankprogrammierung 15
T MySQL MySQL - Insert into fügt zwei identische Datensätze ein Datenbankprogrammierung 2
B Nur 99% der Datensätze werden in Tabelle geschrieben Datenbankprogrammierung 2
E primaryKey auslesen - Datensätze abgleichen Datenbankprogrammierung 4
S Häufig vorkommende Datensätze Datenbankprogrammierung 4
Kandum MySQL Anzahl gefundener Datensätze bleibt gleich, auch wenn mehr existieren und ausgegeben werden Datenbankprogrammierung 3
P Mit Hibernate mehrere Datensätze löschen Datenbankprogrammierung 7
J Datensätze löschen Datenbankprogrammierung 6
O Löschen vieler Datensätze mit Hibernate Datenbankprogrammierung 11
C Hibernate Datensätze finden Datenbankprogrammierung 17
F [SQLite] Mehrere Datensätze einfügen Datenbankprogrammierung 12
S Anzahl Datensätze in db4o Datenbankprogrammierung 2
D Können nur angesehende Datensätze geloggt werden? Datenbankprogrammierung 4
F NUR 3 datensätze auslesen Datenbankprogrammierung 6
F MySQL Nur die Datensätze zurückgeben, in denen ein anderer Preis steht Datenbankprogrammierung 9
B Aktuellen Stand der Datensätze einer Datenbank anzeigen Datenbankprogrammierung 9
J SQL-Abfrage zur löschung doppelter Datensätze Datenbankprogrammierung 7
J Ausgewählte Datensätze in DB-Tabelle schreiben Datenbankprogrammierung 13
J Datensätze aus der Datenbank holen Datenbankprogrammierung 3
S MySQl - Neue Datensätze "on the Fly" verarbeiten Datenbankprogrammierung 8
M Keine doppelten Datensätze einfügen Datenbankprogrammierung 24
N Oracle DB liefert nicht alle Datensätze Datenbankprogrammierung 3
C Doppelte Datensätze Datenbankprogrammierung 11
ARadauer viele datensätze. Datenbankprogrammierung 3
I Anzahl unterschiedlicher Datensätze ausgeben Datenbankprogrammierung 2
D mehrere Datensätze in ein Listenfeld Datenbankprogrammierung 2
S 50.000 updates auf 50.000 Datensätze Datenbankprogrammierung 3
A SELECT-Anweisung liefert keine Datensätze zurück Datenbankprogrammierung 9
M Datensätze zählen. Datenbankprogrammierung 6
E SQL-Frage (Löschen aller Datensätze) Datenbankprogrammierung 9
M JDBC: Viele Datensätze in Tabelle einfügen: Wie? Datenbankprogrammierung 7
C Datensätze variabel hinzufügen Datenbankprogrammierung 4
K Ältere Datensätze archivieren Datenbankprogrammierung 4
C Datensätze in einer JComboBox auflisten Datenbankprogrammierung 2
V Anzahl der Datensätze abfragen Datenbankprogrammierung 9
W Datensätze v. SQL-Datenbank i. JTextFields ausgeben/updaten Datenbankprogrammierung 12
D Anzahl der zurückgelieferten Datensätze Datenbankprogrammierung 2
Trèfle Adobe Acrobat Indexdatei (.PDX File) einlesen Datenbankprogrammierung 1
T importierte Derby DB währen der Laufzeit einlesen Datenbankprogrammierung 2
I Access Datenbank in Table einlesen lassen Datenbankprogrammierung 2
J SQL Datei einlesen/beschreiben Datenbankprogrammierung 0
T 3 GB Große CSV Datei einlesen und in SQL-DB schreiben Datenbankprogrammierung 12
E csv einlesen in H2 DB Datenbankprogrammierung 4
K SQLite CSV-Datei einlesen in eine Datenbank Datenbankprogrammierung 7
E csv datei in JTable einlesen Datenbankprogrammierung 3
Mike90 PDFs in Blobs einlesen Datenbankprogrammierung 7
N Oracle txt. Datei auslesen-> verändern-> einlesen Datenbankprogrammierung 7
M Bild schreiben und einlesen Datenbankprogrammierung 2
S passwortgeschützte Excel-Datei einlesen Datenbankprogrammierung 3
B MySQL-Dumpdatei ohne Batchdatei wieder einlesen Datenbankprogrammierung 48
A Daten von Webshop einlesen Datenbankprogrammierung 5
D Werte mit java programm in eine Datenbank einlesen Datenbankprogrammierung 7
T MySQL Datenbankennamen einlesen Datenbankprogrammierung 7
G ResultSet: String mit Anführungszeichen einlesen Datenbankprogrammierung 8
D Datum in SQL-Datenbank einlesen Datenbankprogrammierung 2
T Recordsets in eine JTable einlesen mit Netbeans 6.0 Datenbankprogrammierung 2
A Einlesen einer csv-Datei in eine H2-Datenbank Datenbankprogrammierung 3
N csv datei in PostgreSQL datenbank einlesen Datenbankprogrammierung 1
M Mit Java .txt-Datei in eine Datenbank einlesen lassen Datenbankprogrammierung 33
W Leere Date-Felder aus DB einlesen Datenbankprogrammierung 4
R MySQL + JDBC: Leeres datetime-Feld einlesen Datenbankprogrammierung 4
E oracletabellen in java einlesen Datenbankprogrammierung 6
K Problem beim Einlesen von Werten aus einem Textfeld Datenbankprogrammierung 11
T Aus einem Array in Datenbank einlesen? Datenbankprogrammierung 3

Ähnliche Java Themen


Oben