테이블 2에서는 Data 인터페이스의 각 쿼리 메소드에 대한 리턴 유형에 대해 설명합니다.
약어 | 의미 |
---|---|
I | Iterator |
L | List |
M | Map |
O | Object |
RS | ResultSet |
S | String |
T | 기본 Java 유형 또는 Bean의 랩퍼 클래스일 수 있는 일반 클래스 |
리턴 유형 | |||||||||
---|---|---|---|---|---|---|---|---|---|
queryXxx() 메소드 | RS | L<M<S,O>> | L<T> | M<S,O> | M<S,O>[] | <T> | <T>[] | I<M<S,O>> | I<T> |
Data.queryArray() | X | ||||||||
returnClass를 포함한 Data.queryArray() | X | ||||||||
RowHandler를 포함한 Data.queryArray() | X | ||||||||
Data.queryList() | X | ||||||||
returnClass를 포함한 Data.queryList() | X | ||||||||
RowHandler를 포함한 Data.queryList() | X | ||||||||
Data.queryIterator() | X | ||||||||
returnClass를 포함한 Data.queryIterator() | X | ||||||||
RowHandler를 포함한 Data.queryIterator() | X | ||||||||
Data.queryFirst() | X | ||||||||
returnClass를 포함한 Data.queryFirst() | X | ||||||||
RowHandler를 포함한 Data.queryFirst() | X | ||||||||
Data.queryResults() | X | ||||||||
ResultHandler를 포함한 Data.query() | X |
다음 목록은 기본 리턴 유형에 대해 설명합니다.
각 요소가 행에 해당하는 Iterator 오브젝트가 리턴되도록 지정합니다. 매개변수화된 유형 T를 지정해야 합니다.
pureQuery의 Iterator 유형은 ResultIterator입니다. Iterator 사용 완료 후 ResultIterator.close() 메소드를 사용하여 Iterator를 닫아야 합니다.
제공된 SQL문이 쿼리이고 둘 이상의 행이 규정되는 경우, 첫 번째 행의 값이 리턴됩니다.
모든 기본 데이터베이스 ResultSet 오브젝트가 닫힙니다.
스칼라 또는 Bean이 리턴되도록 지정합니다. 스칼라는 Double 또는 String, Date 또는 Timestamp와 같은 랩퍼일 수 있습니다.
둘 이상의 행이 규정되는 경우, 첫 번째 행의 값이 리턴됩니다.
모든 기본 데이터베이스 ResultSet 오브젝트가 닫힙니다.
Data 인터페이스의 메소드를 사용할 때 int.class와 같이 <기본 Java 유형>.class 클래스에 속하는 일반 <T> 클래스를 지정하지 마십시오.
SQL에서 쿼리된 정보가 기본 Java 유형으로 저장될 때마다 SQL 널(NULL) 값과 관련된 정보는 유실됩니다. 또한, Java에서는 <기본 Java 유형>.class의 일반 <T> 클래스를 지정하는 일반 메소드가 해당 기본 Java 유형에 적절한 랩퍼 클래스의 인스턴스를 리턴해야 합니다.
int tCount = data.queryFirst("select ...", int.class, p);이는 queryFirst() 메소드의 정의가 다음과 같기 때문입니다.
<T> T data.queryFirst(String sql, Class<T> returnType, Object... params);
Integer tCount = data.queryFirst("select ...", Integer.class, p);