Types de renvoi pour les méthodes getXxx() de l'interface StoredProcedureResult

Ce tableau présente les types de renvoi de chaque méthode queryXxx() de l'interfaceStoredProcedureResult.
Tableau 1. Clé dans la table des types de renvoi
Abréviation Signification
I Iterator
L Liste
M Map
O Objet
RS ResultSet
S String
T Classe générique pouvant être une d'un type Java primitif ou un bean
Tableau 2. Types de renvoi pour chaque méthode queryXxx() de l'interface StoredProcedureResult.
   
méthodes getXxx() RS O[] L<M<S,O>> L<T> M<S,O>[] <T> <T>[] I<M<S,O>> I<T>
getOutputParms()   X              
getArray()         X        
getArray() with returnClass             X    
getArray() with RowHandler             X    
getList()     X            
getList() with returnClass       X          
getList() with RowHandler       X          
getIterator()               X  
getIterator() with returnClass                 X
getIterator() with RowHandler                 X
getResults() X                
getQuery() with ResultHandler           X      

Restriction pour le retour des objets <T>

Lorsque vous utilisez une méthode de l'interface StoredProcedureResult, n'indiquez pas une classe générique <T> correspondant à l'une des classes <primitive Java type>.class, comme int.class.

Les informations relatives aux valeurs SQL null sont perdues chaque fois que les informations demandées par SQL sont stockées dans un type Java primitif. De plus, Java nécessite qu'une méthode générique, spécifiant une classe générique <T> de type <type Java primitif>.class, renvoie une instance de la classe d'encapsulation appropriée à ce type Java primitif.

Par exemple, Java n'autorise pas les appels de méthode tels que celui-ci :
int tCount = storedProcedureResult.queryArray(int.class);
car la définition de la méthode queryArray() est la suivante :
<T> T[] storedProcedureResult.queryArray(Class<T> returnClass);
La classe déclarée de tCount doit être Integer[].
Integer[] tCount = storedProcedureResult.queryArray(Integer.class);

Commentaires