表 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 における反復子のタイプは ResultIterator です。使用し終えたら、ResultIterator.close() メソッドでそれらの反復子を閉じる必要があります。
提供された SQL ステートメントが照会であり、複数の行が該当する場合、最初の行からの値が戻されます。
基礎となるデータベース ResultSet オブジェクトは閉じられます。
スカラーまたは Bean が戻されることを指定します。スカラーは、Double などのラッパー、または String、Date、Timestamp にすることができます。
複数の行が該当する場合、最初の行からの値が戻されます。
基礎となるデータベース ResultSet オブジェクトは閉じられます。
Data インターフェースのメソッドを使用する場合、<primitive Java type>.class クラスのいずれか (int.class など) である汎用 <T> クラスを指定しないでください。
SQL NULL 値に関する情報は、SQL から照会された情報がプリミティブ Java タイプに格納されると失われます。 さらに、Java は、<primitive Java type>.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);