Maison > base de données > tutoriel mysql > Comment accéder aux colonnes JDBC ResultSet avec des alias de table ?

Comment accéder aux colonnes JDBC ResultSet avec des alias de table ?

Patricia Arquette
Libérer: 2024-12-30 16:06:13
original
139 Les gens l'ont consulté

How to Access JDBC ResultSet Columns with Table Aliases?

Colonnes JDBC ResultSet avec alias de table

Lors de l'exécution d'une requête telle que "SELECT * from table1 a, table2 b Where (QUOI)", accéder aux données avec "resultSet.getString("a.columnName")" ou "resultSet.getString("b.columnName")" échoue.

L'API JDBC ne traite pas explicitement ce scénario, le laissant dépendant du fournisseur. Cependant, vous pouvez résoudre ce problème en :

Option 1 : Renommer les colonnes

Nommer les colonnes différemment dans la requête à l'aide d'alias, tels que :

SELECT
    a.columnName as columnNameA,
    b.columnName as columnNameB,
    ...
from table1 a, table2 b where (WHATEVER)
Copier après la connexion

Référez ensuite ces alias dans votre code Java :

resultSet.getString("columnNameA");
resultSet.getString("columnNameB");
Copier après la connexion

Option 2 : Position de la colonne

Référez-vous aux colonnes par position dans l'ensemble de résultats :

resultSet.getString(1);
resultSet.getString(2);
Copier après la connexion

Notez que JDBC utilise une indexation de base un, en commençant par 1 pour la première colonne.

Pour des raisons de sécurité et de maintenabilité, l'Option 1 (Renommage des colonnes) est recommandée. Si l'ordre des colonnes d'une requête change, votre code s'interrompra silencieusement lors de l'accès aux mauvaises colonnes. En revanche, la modification des noms de colonnes déclenchera une exception « aucune colonne de ce type », vous alertant du problème.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal