Rückgabetypen für die Methoden getXxx() in der 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