Je veux convertir mon jeu de résultats en liste dans ma page JSP. et souhaitez afficher toutes les valeurs. Voici ma requête:
SELECT userId, userName
FROM user;
J'ai exécuté cela en utilisant preparestatement et j'ai obtenu Resultset. Mais comment le convertir en List et vouloir afficher le résultat comme ceci:
userID userName
------------------
1001 user-X
1006 user-Y
1007 user-Z
Vous devez parcourir l'item ResultSet dans une boucle, ligne par ligne, pour extraire chaque valeur de colonne:
List ll = new LinkedList();
ResultSet rs = stmt.executeQuery("SELECT userid, username FROM USER");
// Fetch each row from the result set
while (rs.next()) {
int i = rs.getInt("userid");
String str = rs.getString("username");
//Assuming you have a user object
User user = new User(i, str);
ll.add(user);
}
Vous pouvez toujours utiliser Commons DbUtils et MapListHandler . Du doc:
Implémentation de ResultSetHandler qui convertit un ResultSet en une liste de cartes
il vous faudra donc beaucoup de code passe-partout de vos mains.
Un ResultSet ne devrait jamais aller aussi loin qu'un JSP. Il doit être mappé dans une structure de données ou un objet et fermé dans la portée de la méthode dans laquelle il a été créé. C'est un curseur de base de données, une ressource rare. Votre application sera bientôt épuisée si vous persistez avec un tel design.