StoredProcedureResult 인터페이스의 getXxx() 메소드에 대한 리턴 유형

이 테이블에서는 StoredProcedureResult 인터페이스의 각 queryXxx() 메소드에 대한 리턴 유형에 대해 설명합니다.
표 1. 리턴 유형 테이블에 대한 키
약어 의미
I Iterator
L List
M Map
O Object
RS ResultSet
S String
T 기본 Java™ 유형 또는 Bean이 될 수 있는 일반 클래스
표 2. StoredProcedureResult 인터페이스의 각 queryXxx() 메소드에 대한 리턴 유형
   
getXxx() 메소드 RS O[] L<M<S,O>> L<T> M<S,O>[] <T> <T>[] I<M<S,O>> I<T>
getOutputParms()   X              
getArray()         X        
returnClass를 포함한 getArray()             X    
RowHandler를 포함한 getArray()             X    
getList()     X            
returnClass를 포함한 getList()       X          
RowHandler를 포함한 getList()       X          
getIterator()               X  
returnClass를 포함한 getIterator()                 X
RowHandler를 포함한 getIterator()                 X
getResults() X                
ResultHandler를 포함한 getQuery()           X      

<T> 오브젝트 리턴에 대한 제한사항

StoredProcedureResult 인터페이스의 메소드를 사용할 때 int.class와 같이 <기본 Java 유형>.class 클래스에 속하는 일반 <T> 클래스를 지정하지 마십시오.

SQL에서 쿼리된 정보가 기본 Java 유형으로 저장될 때마다 SQL 널(NULL) 값과 관련된 정보는 유실됩니다. 또한, Java에서는 <기본 Java 유형>.class의 일반 <T> 클래스를 지정하는 일반 메소드가 해당 기본 Java 유형에 적절한 랩퍼 클래스의 인스턴스를 리턴해야 합니다.

예를 들어, Java는 다음과 같은 메소드 호출을 허용하지 않습니다.
int tCount = storedProcedureResult.queryArray(int.class);
이는 queryArray() 메소드의 정의가 다음과 같기 때문입니다.
<T> T[] storedProcedureResult.queryArray(Class<T> returnClass);
tCount의 선언된 클래스는 Integer[]여야 합니다.
Integer[] tCount = storedProcedureResult.queryArray(Integer.class);

피드백