Moyen efficace pour Gérer ResultSet en Java

Je suis à l'aide d'un jeu de résultats en Java, et je ne suis pas sûr de la façon de bien le fermer. Je suis envisage d'utiliser le jeu de résultats, afin de construire une table de hachage, puis de fermeture le jeu de résultats par la suite. Est-ce HashMap technique efficace, ou il y a des moyens plus efficaces de gestion de cette situation? J'ai besoin de deux clés et des valeurs, donc, à l'aide d'une table de hachage, semblait un choix logique.

Si à l'aide d'une table de hachage est la méthode la plus efficace, comment puis-je construire et d'utiliser la table de hachage dans mon code?

Voici ce que j'ai essayé:

public HashMap resultSetToHashMap(ResultSet rs) throws SQLException {

  ResultSetMetaData md = rs.getMetaData();
  int columns = md.getColumnCount();
  HashMap row = new HashMap();
  while (rs.next()) {
     for (int i = 1; i <= columns; i++) {
       row.put(md.getColumnName(i), rs.getObject(i));
     }
  }
  return row;
}
  • Post partie du code où vous créez hashmap et de les remplir avec le jeu de résultats.
  • Vérifier mon montage..
  • Trompeuse nom de la méthode...je ne vois pas de liste de tableaux.
  • Ce que vous faites est généralement OK, mais vous avez besoin de rs.close() avant votre retour. Copie des données à partir d'un résultat HashMap est correcte à condition que vous avez besoin pour accéder à l'ensemble du jeu de données.
  • Désolé pour ça 😛
  • Oui j'ai besoin d'accéder à l'ensemble du jeu de données presque tout le temps.
  • Ne fermez pas le jeu de résultats dans cette méthode. Le jeu de résultats est passé en paramètre, c'est donc l'appelant responsabilité pour le fermer. Et la clôture doit être fait dans un "enfin" bloc donc il s'est fait même si une Exception est levée.

InformationsquelleAutor Deepak | 2011-09-21