ResultSet: Récupérer les valeurs de la colonne par rapport à l'indice de la récupération par le label

Lors de l'utilisation de JDBC, j'ai souvent rencontré des constructions comme les

ResultSet rs = ps.executeQuery();
while (rs.next()) {
    int id = rs.getInt(1);
    //Some other actions
}

Je me suis demandé (et les auteurs de code aussi) pourquoi ne pas utiliser des étiquettes pour récupérer les valeurs de la colonne:

int id = rs.getInt("CUSTOMER_ID");

La meilleure explication que j'ai entendu, c'est quelque chose au sujet de la performance. Mais en réalité, cela fait-il de transformation extrêmement rapide? Je ne le crois pas, bien que je n'ai jamais effectué des mesures. Même si la récupération par le label serait un peu plus lent, néanmoins, fournir une meilleure lisibilité et à la flexibilité, à mon avis.

Si quelqu'un pourrait me donner une bonne explication d'éviter de récupérer les valeurs de la colonne par colonne de l'index au lieu de la colonne étiquette? Quels sont les avantages et les inconvénients des deux approches (peut-être, concernant certains SGBD)?

  • Est-il des constantes pour l'utiliser? Quelque chose comme " jeu de résultats.CUSTOMER_ID'
InformationsquelleAutor Rorick | 2008-10-09