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

Java: Datenbankprogrammierung

Zugriff auf sämtliche Daten einer Datenbank

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Es besteht die Möglichkeit, auf sämtliche Daten einer Datenbank aus Java schrittweise zuzugreifen. Dieses Video erläutert die notwendige Vorgehensweise, um den entsprechenden Quellcode zu erstellen.
06:27

Transkript

In diesem Video wollen wir uns ansehen wie Sie über sämtliche Daten in einer Datenbank mit Java iterieren können. Wir haben jetzt hier eine Datenbank mit zwei Spalten und einigen Werten darin. Und wir möchten mit Java, sowohl über die Spalte userid , als auch die Spalte pw, iterieren. Genaugenommen iterieren wir über die ganzen Datensätze aber wir wollen die Werte der einzelnen Spalten abgreifen. Wenn man sich so ein Java Beispiel ansieht haben wir ganz klassisch Java SQL importiert und bilden ein Connection, ein Statement und ein ResultSet Objekt. Über getConnection, createStatement, executeQuery. Sie können hier statt dem * natürlich auch die konkreten Felder benennen, wenn Sie sich entsprechend mit SQL auskennen, steht Ihnen das natürlich frei. Der interessante part ist aber hier diese Schleife. Mit der next Methode iterieren wir über die verschiedenen Datensätze. Und in einem ResultSet steht über ein Index der Zugrif auf die verschiedene Spalten zur Verfügung. Wenn wir nun wissen, dass wir zwei Spalten haben, dann können wir mit dem Index eins nicht null indiziert, im Gegensatz zu ARIS auf die erste Spalte zugreifen und mit zwei auf die zweite. Und wenn wir das laufen lassen, dann sehen Sie hier in der Konsole genau die Daten, die wir hier auch in der Datenbank per php MyAdmin gesehen haben. Hier sehen Sie das. Soweit so gut. Aber das setzt ja voraus, dass wir eben genau wissen es gibt zwei Spalten hier. Was wäre den, wenn wir eine unbekannte Datenstruktur hätten oder nicht genau wüssten wie viele Spalten wir hier von diesem SQL Statement zurückbekommen. Man wird natürlich als objektorientierter Programmierer immer einmal das Objekt fragen und gucken was gibt's denn da. Gibt es so etwas wie eine size Methode oder irgendetwas dieser Art, um die Anzahl der Spalten zu ermitteln. Aber es wird ein bisschen enttäuschend sein, denn es gibt gar nicht so vernünftige Methoden, um hier diese Anzahl der tatsächlich ermittelten Spalten auch so zu bestimmen. Es gibt gewisse Tricks, last und solche Sachen, womit man damit arbeiten kann, aber eigentlich ist es sinnvoll ein etwas anderen Weg zu gehen. Man macht es in der Praxis meistens so, dass man jetzt mit einer Schleife in einer Schleife arbeitet. Das heißt man könnte jetzt hier noch eine Vorschleife bauen, z. B. int i = . Bitte achten Sie darauf eins und dann i ++, und dieses i wird hier als Parameter für diese get Methode benutzt. Natürlich müssen wir dann hier das auch in einem einzelnen Schritt durchführen. Jetzt werden die Werte untereinander angezeigt so wie ich das hier mache, aber das ist keine wirkliche Einschränkung und das kann man mit einer normalen print Methode machen. Udann packt man hier hinten dran, von mir aus, noch ein Tabulator oder so und dann macht man danach, wenn das wirklich untereinander sein soll, noch so ein einfaches System println von einem leer string oder so irgendetwas. Nun haben wir hier ein Problem und dieses Problem ist nicht unerwartet, denn was habe ich hier eigentlich, das Abbruch Kriterium, es ist nicht das eine endlos-Schleife. Und wenn die innere Schleife eine endlos-Schleife ist, ist nicht so das gelbe vom Ei um sich vorsichtig auszudrücken, und warum wird das hier jetzt von Eclipse an gemeckert? Warum wird das nicht übersetzt? Na ja, es ist unreachable code. Denn über die endlos-Schleife kommen wir nicht hinweg. Allerdings, wenn wir jetzt hier mit dem Index aus einem gewissen Bereich rausgehen, was wird dann in Java passieren? Na ja, es wird eine Exception geworfen. Und tatsächlich nutzt man so was aus. Dieser Trick über sämtliche Spalten zu iterieren, sprich die Werte einzelner Spalten zu bekommen. Der Trick basiert wirklich darauf, dass wir eine Exception bewusst einkalkulieren. Und diese Vorschleife, die packen wir ganz einfach in einen try. Und dann fangen wir die Exception hier ab. Und in der Exception machen wir für unseren konkreten Fall diesen Zeilenvorschub. Brauchen wir natürlich noch einen Parameter, in dem Fall nehme ich einfach ein Objekt von Exception, das soll mir genügen. Jetzt formatieren wir die Geschichte nochmal ein bisschen gescheitert, dass man noch gut sieht wie das ineinander geschachtelt ist und dann sehen Sie, dass wir nun keinen unreachable code mehr haben. Das speichern und ausführen. Dann sehen Sie auch hier, dass Sie wieder alle Datensätze haben, alle Daten aus der Datenbank und der wesentliche Vorteil gegenüber der ersten Variante ist, dass die Anzahl der möglichen Spalten damit eben nicht von uns vorher vorgegeben werden muss. Was Sie also in diesem Video jetzt gesehen haben ist einwegig, ich betone, es ist nur ein Weg wie Sie sämtliche Spalten eines ResultSets beim iterieren über die einzelnen Zeilen verwerten können. Es gibt durchaus noch weitere Möglichkeiten aber diese Variante ist sehr vernünftig und sehr zuverlässig.

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!