Rückgabetypen für getXxx()-Methoden in Schnittstelle StoredProcedureResult

Diese Tabelle zeigt die Rückgabetypen für jede Methode queryXxx() in der Schnittstelle StoredProcedureResult an.
Tabelle 1. Schlüssel zur Tabelle der Rückgabetypen
Abkürzung Bedeutung
I Iterator
L List
M Map
O Object
RS ResultSet
S String
T generische Klasse, die ein Java™-Basiselementtyp oder eine Bean sein kann
Tabelle 2. Rückgabetypen für jede Methode queryXxx() in der Schnittstelle StoredProcedureResult
   
Methoden 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() mit returnClass             X    
getArray() mit RowHandler             X    
getList()     X            
getList() mit returnClass       X          
getList() mit RowHandler       X          
getIterator()               X  
getIterator() mit returnClass                 X
getIterator() mit RowHandler                 X
getResults() X                
getQuery() mit ResultHandler           X      

Einschränkung für die Rückgabe von <T>-Objekten

Wenn Sie eine Methode der Schnittstelle StoredProcedureResult verwenden, geben Sie keine generische <T>-Klasse an, die eine <Java-Basiselementtyp>.class-Klasse ist wie int.class.

Die Informationen hinsichtlich SQL-Nullwerten gehen verloren, wenn aus SQL abgefragte Informationen in einem Java-Basiselementtyp gespeichert werden. Außerdem erfordert Java, dass eine generische Methode, die eine generische Klasse <T> von <Java-Basiselementtyp>.class angibt, eine Instanz der Wrapperklasse zurückgeben muss, die für den Java-Basiselementtyp geeignet ist.

Java lässt beispielsweise keine Methodenaufrufe wie folgenden zu:
int tCount = storedProcedureResult.queryArray(int.class);
da die Methode queryArray() wie folgt definiert ist:
<T> T[] storedProcedureResult.queryArray(Class<T> returnClass);
Die deklarierte Klasse von tCount muss Integer[] sein.
Integer[] tCount = storedProcedureResult.queryArray(Integer.class);

Feedback