Hallo, ich möchte den gesamten Inhalt meiner Datenbanktabelle auf HTML-Seite anzeigen. Ich versuche, Datensatz von Datenbank zuerst zu holen und in ArrayList
zu speichern, aber wenn ich Array-Liste auf HTML-Seite zurückgebe, wird nur letzter Datensatz wiederholt als angezeigt Anzahl meiner Datenbanktabelle.
Hier ist der folgende Code:
Versuchen Sie es mit dem folgenden Code
%Vor%das ist meine Modellklasse
%Vor%das ist meine Ansichtsmethode
%Vor%Sie müssen in jeder Iteration ein neues Kundenobjekt erstellen und dann das neu erstellte Objekt in der ArrayList im Laufe Ihrer Iteration hinzufügen.
Sie verwenden die customer
Referenz erneut. Java funktioniert per Referenz für Obejects. Nicht für Primitive.
Was Sie tun, ist, die gleiche customer
zur Liste hinzuzufügen und sie dann zu ändern. So legen Sie die gleichen Werte für alle Objekte fest. Deshalb siehst du das Letzte. Weil alle gleich sind.
Ich versuche zuerst den Datensatz aus der Datenbank zu holen und in ArrayList zu speichern Aber wenn ich die Array-Liste auf der HTML-Seite zurückgebe, wird nur der letzte Datensatz angezeigt wiederholt als Anzahl meiner Datenbanktabelle
Dieser Teil wurde größtenteils von allen vorherigen Antworten abgedeckt. Du müsstest also eine neue Instanz von CustomerDTO
in deiner while
Schleife erstellen und sie zu deiner ArrayList
hinzufügen.
Es gibt noch etwas, über das ich etwas sagen wollte:
Statement
- oder Ihre Connection
-Objekte nicht geschlossen ( nicht sicher, ob Sie Ihre Verbindung bündeln. In diesem Fall müssten Sie diese Verbindung trennen.) der Pool ) Wenn Sie diese Punkte berücksichtigen, sieht die Struktur Ihres Codes möglicherweise so aus:
%Vor% Instead of
null ,
use CustomerDTO customers =
neu CustomerDTO () ';
%Vor%Erstellen Sie jedes CustomerDTO-Objekt innerhalb der while-Schleife
Überprüfen Sie den folgenden Code