Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Java: Datenbankprogrammierung

Daten in grafischer Oberfläche darstellen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Sämtliche Daten einer bestehenden Datenbank können in einer grafischen Oberfläche dargestellt werden. In Java lässt sich hierfür das Ergebnis einer Datenbankabfrage in einer Swing-Tabellenkomponente anzeigen.
06:48

Transkript

In diesem Video wollen wir uns ansehen, wie wir sämtliche Daten aus einer Datenbank in einer graphischen Oberfläche anzeigen können. Wir haben hier, wie Sie sehen, eine Datenbank PERSONEN und eine Tabelle Mitarbeiter, in der gewisse Werte angezeigt werden. Es sind hier ein paar Datensätze eingetragen und die sollen in einer Swing-Oberfläche angezeigt werden. Also etwa so. Es gibt nun natürlich mehrere Möglichkeiten, wie man diese Daten in einer Oberfläche anzeigen kann. Und das ist nicht unsere eigentliche Baustelle, aber an dieser Stelle wird mit einer Swing-jTable-Komponente gearbeitet. Sie sehen hier, dass eine solche erzeugt wird. Und für diese wird ein TableModel gebildet. Das finden Sie im Javax.swing.table. Und dieses TableModel kann mit mehrdimensionalen und zweidimensionalen StringArrays umgehen. Das heißt, wenn wir uns hier so ein so genanntes Default Table Model bilden, dann brauche ich hier ein zweidimensionales String-Array. Das entspricht im wesentlichen von Struktur einem ResultSet, spricht einer Tabelle, Das wir hier zusätzlich noch irgendwelche Spaltenkennungen angeben soll an der Stelle nicht weiter interessieren. Entscheidend ist, wie bekommen wir hier der Datenbank unsere Daten in einer Form, dass es hier ein StringArray, ein zweidim- ensionales StringArray als Resultat gibt. Und das machen wir wie folgt. Das brauchen wir an der Stelle sogar gar nicht. Also... Wir haben wieder eine Verbindung zur der Datenbank. Wir machen ein klassisches Select-Statement auf die Tabelle. Nun ist es so, dass wir dummerweise in JAVA semi-dynamische Arrays haben. Das heißt, wir könnten rein theoretisch unseren StringArray, ein mehr- dimensionales StringArray zusammenbauen. Oder genauer genommen ein StringArray mit weiteren StringArrays als Inhalt wie es ja korrekt im JAVA ist, und geben da bereits fest Dimensionen vor. Aber das ist natürlich sehr unflexibel. Wir wollen ja über eine beliebige Menge von Daten iterieren können. Und von daher bietet sich das wirklich nur an, wenn man genau weiß, wie viele Daten man zur Verfügung hat. Das heißt, wie viele Spalten und vor allem, das ist das wichtige, wie viele Datensätze. Wenn wir diesen Weg jetzt nicht gehen wollen, dann müssen wir irgendeine Konstruktion in JAVA finden, womit wir dynamische Daten aufbau können. Da bieten sich natürlich Collections an. Ich habe hier eine Array-List aufgebaut. Eine Array-List generisch auf String parametrisiert und wir sehen hier den DiamondOperator, den können Sie natürlich erst ab JAVA 7 anwenden, ansonsten schreiben Sie hier nochmal String hin. Und diese Liste möchte ich dynamisch aus der Datenbank aufbauen. Sie sehen, es ist eigentlich nur eine eindimensionale Liste. Man kann sich hier auch überlegen, gleich mit mehrdimensionalen Listen zu arbeiten. Das ist durchaus von der Syntax möglich. Aber es ist dadurch, dass wir immer die gleiche Anzahl von Spalten haben, im Grunde gar nicht notwendig. Wir arbeiten hier mit einem kleinen Trick. Denn Sie sehen, dass es hier eine Variable columnindex gibt. Und diese wird hochgezählt. Und zwar jedes Mal, wenn wir durch den Datensatz iterieren. Sobald die exception geworfen wird, ist das Hochzählen zu Ende. Das wird natürlich für sämtliche Datensätze den gleichen Wert liefern und ist damit eigentlich auch redundant. Aber entscheidend ist, wir bekommen die Anzahl der Spalten zuverlässig. Von daher, beachten Sie bitte, das wird hier immer auf 0 gesetzt... Von daher wissen wir, wie viele Einträge in der ArrayList zu einem Datensatz gehören. Deshalb können wir mit einer Schleife, so wie der inneren Schleife, um über alle Daten von einem Datensatz zu iterrieren, einfach mit einer AppMethode die jeweiligen Inhalte eines Feldes der ArrayList hinzufügen. Am Ende haben wir eine eindimensionale ArrayList mit allen Einträgen der Datenbank, sprich allen Einträgen des ResultSet-s. Genauer, wenn man hier das SelectStatement noch berücksichtigt und kein SternFrom ()* macht, sondern irgendeine eingeschränkte Auswahl. Nun hat eine ArrayList eine Methode Size. Und damit können wir die Anzahl dieser Elemente in der ArrayList auswerten. Und wenn wir zusätzlich die Anzahl der Spalten haben, dann wissen wir wie groß unser zweidimensionales Array sein muss. Nämlich row.size geteilt durch columnindex. Das ist die Anzahl der Zeilen Und columnindex ist die Anzahl der Spalten. Wir haben zwar ein semi-dynamische Array, aber bisher haben wir noch nicht erzeugt. Hier steht es noch auf NULL. Das heißt, an der Stelle legen wir, nachdem wir wissen, wie viele Daten wir brauchen, uns dieses multidimensionale Array an. Und dann iterieren wir mit zwei verschachtelte Schleifen darüber. Zuerst über den ersten Index. Und hier haben wir die Größe mit length. Und dann in diesem Schleifendurchlauf, über die Anzahl der Spalten. Dann füllen wir ganz einfach mit einem weiteren Counter, der über die ArrayList läuft, die entsprechenden Elemente dieses multidimensionalen Arrays. Das ist ein bisschen umständlich, allein aufgrund der Tatsache, dass wir eben ein StringArray, ein multidimensionales StringArray brauchen. Aber sofern wir eben mit diesem Konstruktor hier arbeiten wollen, vom DefaultTableModel, dann ist einfach notwendig, oder ist zumindest ein sinnvoller Weg. Und das Resultat haben Sie gesehen. Es funktioniert zuverlässig. Wir haben also in diesem Video gesehen, dass Sie Daten aus einer Datenbank durchaus auch in einer visuellen Oberfläche anzeigen können und auch so, dass sie deutlich getrennt sind. Wir haben natürlich hinterher über diese Tabelle auch Zugriff auf die einzelnen Daten, wenn wir das wünschen.

Java: Datenbankprogrammierung

Machen Sie sich in diesem Training mit den Grundlagen zu Datenbanken im Allgemeinen vertraut, um anschließend mit Java ein einfaches, erstes Datenbankbeispiel zu programmieren.

2 Std. 13 min (29 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:11.03.2014

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!