web-dev-qa-db-fra.com

Ensemble de résultats à répertorier

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
20
Gnaniyar Zubair

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);
}
34
OMG Ponies

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.

6
Brian Agnew

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.

5
duffymo