インターフェース JdbcOperations
- すべての既知の実装クラス:
JdbcTemplate
JdbcTemplate
によって実装されます。直接使用されることはあまりありませんが、簡単にモックまたはスタブできるため、テスト容易性を高めるための便利なオプションです。
または、標準の JDBC インフラストラクチャをモックすることもできます。ただし、このインターフェースをモックすることで、作業量が大幅に少なくなります。データアクセスコードをテストするためのモックオブジェクトアプローチの代替として、spring-test
アーティファクトで Spring TestContext フレームワークを介して提供される強力な統合テストサポートを検討してください。
注: 6.1 では、JdbcClient
の形式で利用可能な統合 JDBC アクセスファサードがあります。JdbcClient
は、インデックス付きパラメーターまたは名前付きパラメーターを柔軟に使用して、一般的な JDBC クエリ / 更新に流れるような API スタイルを提供します。実際の実行は JdbcOperations
/NamedParameterJdbcOperations
に委譲されます。
- 作成者:
- Rod Johnson, Juergen Hoeller
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明int[]
batchUpdate
(StringSE... sql) バッチ処理を使用して、単一の JDBC ステートメントで複数の SQL 更新を発行します。<T> int[][]
batchUpdate
(StringSE sql, CollectionSE<T> batchArgs, int batchSize, ParameterizedPreparedStatementSetter<T> pss) 提供された引数を収集して提供された SQL ステートメントを使用して、複数のバッチを実行します。int[]
batchUpdate
(StringSE sql, ListSE<ObjectSE[]> batchArgs) 提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。int[]
batchUpdate
(StringSE sql, ListSE<ObjectSE[]> batchArgs, int[] argTypes) 提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。int[]
batchUpdate
(StringSE sql, BatchPreparedStatementSetter pss) 単一の PreparedStatement で複数の更新ステートメントを発行し、バッチ更新と BatchPreparedStatementSetter を使用して値を設定します。int[]
batchUpdate
(PreparedStatementCreator psc, BatchPreparedStatementSetter pss, KeyHolder generatedKeyHolder) 単一の PreparedStatement で複数の更新ステートメントを発行し、バッチ更新と BatchPreparedStatementSetter を使用して値を設定します。call
(CallableStatementCreator csc, ListSE<SqlParameter> declaredParameters) CallableStatementCreator を使用して SQL 呼び出しを実行し、SQL および必要なパラメーターを提供します。void
単一の SQL 実行(通常は DDL ステートメント)を発行します。<T> T
execute
(StringSE callString, CallableStatementCallback<T> action) JDBC CallableStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。<T> T
execute
(StringSE sql, PreparedStatementCallback<T> action) JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。<T> T
execute
(CallableStatementCreator csc, CallableStatementCallback<T> action) JDBC CallableStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。<T> T
execute
(ConnectionCallback<T> action) JDBC 接続で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。<T> T
execute
(PreparedStatementCreator psc, PreparedStatementCallback<T> action) JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。<T> T
execute
(StatementCallback<T> action) JDBC ステートメントで動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。<T> T
query
(StringSE sql, ObjectSE[] args, int[] argTypes, ResultSetExtractor<T> rse) 指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。void
query
(StringSE sql, ObjectSE[] args, int[] argTypes, RowCallbackHandler rch) 指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。<T> ListSE<T>
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を結果オブジェクトにマッピングします。<T> T
query
(StringSE sql, ObjectSE[] args, ResultSetExtractor<T> rse) 使用すべきではありません。void
query
(StringSE sql, ObjectSE[] args, RowCallbackHandler rch) 使用すべきではありません。5.3 現在、query(String, RowCallbackHandler, Object...)
を推奨<T> ListSE<T>
使用すべきではありません。5.3 現在、query(String, RowMapper, Object...)
を推奨<T> T
query
(StringSE sql, PreparedStatementSetter pss, ResultSetExtractor<T> rse) ResultSet を ResultSetExtractor で読み取り、準備済みステートメントを使用して照会します。void
query
(StringSE sql, PreparedStatementSetter pss, RowCallbackHandler rch) 指定された SQL を照会して、SQL から準備済みステートメントを作成し、値を照会にバインドする方法を知っている PreparedStatementSetter 実装を作成し、RowCallbackHandler で行ごとに ResultSet を読み取ります。<T> ListSE<T>
query
(StringSE sql, PreparedStatementSetter pss, RowMapper<T> rowMapper) 与えられた SQL をクエリして、SQL から準備されたステートメントを作成し、RowMapper を介して各行を結果オブジェクトにマッピングして、クエリに値をバインドする方法を知っている PreparedStatementSetter 実装を作成します。<T> T
query
(StringSE sql, ResultSetExtractor<T> rse) 静的 SQL を指定してクエリを実行し、ResultSet を ResultSetExtractor で読み取ります。<T> T
query
(StringSE sql, ResultSetExtractor<T> rse, ObjectSE... args) 指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。void
query
(StringSE sql, RowCallbackHandler rch) RowCallbackHandler を使用して行ごとに ResultSet を読み取り、静的 SQL を指定してクエリを実行します。void
query
(StringSE sql, RowCallbackHandler rch, ObjectSE... args) 指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。<T> ListSE<T>
静的 SQL を指定してクエリを実行し、RowMapper を介して各行を結果オブジェクトにマッピングします。<T> ListSE<T>
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を結果オブジェクトにマッピングします。<T> T
query
(PreparedStatementCreator psc, ResultSetExtractor<T> rse) ResultSet を ResultSetExtractor で読み取り、準備済みステートメントを使用して照会します。void
query
(PreparedStatementCreator psc, RowCallbackHandler rch) RowCallbackHandler で行ごとに ResultSet を読み取り、準備されたステートメントを使用して照会します。<T> ListSE<T>
query
(PreparedStatementCreator psc, RowMapper<T> rowMapper) 準備済みステートメントを使用して照会し、RowMapper を介して各行を結果オブジェクトにマッピングします。queryForList
(StringSE sql) 静的 SQL を指定して、結果リストのクエリを実行します。<T> ListSE<T>
queryForList
(StringSE sql, ClassSE<T> elementType) 静的 SQL を指定して、結果リストのクエリを実行します。<T> ListSE<T>
queryForList
(StringSE sql, ClassSE<T> elementType, ObjectSE... args) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。queryForList
(StringSE sql, ObjectSE... args) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。queryForList
(StringSE sql, ObjectSE[] args, int[] argTypes) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。<T> ListSE<T>
queryForList
(StringSE sql, ObjectSE[] args, int[] argTypes, ClassSE<T> elementType) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。<T> ListSE<T>
queryForList
(StringSE sql, ObjectSE[] args, ClassSE<T> elementType) 使用すべきではありません。5.3 現在、queryForList(String, Class, Object...)
を推奨queryForMap
(StringSE sql) 静的 SQL を指定して、結果マップのクエリを実行します。queryForMap
(StringSE sql, ObjectSE... args) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。queryForMap
(StringSE sql, ObjectSE[] args, int[] argTypes) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。<T> T
queryForObject
(StringSE sql, ClassSE<T> requiredType) 静的 SQL を指定して、結果オブジェクトのクエリを実行します。<T> T
queryForObject
(StringSE sql, ClassSE<T> requiredType, ObjectSE... args) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。<T> T
queryForObject
(StringSE sql, ObjectSE[] args, int[] argTypes, ClassSE<T> requiredType) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。<T> T
queryForObject
(StringSE sql, ObjectSE[] args, int[] argTypes, RowMapper<T> rowMapper) 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。<T> T
queryForObject
(StringSE sql, ObjectSE[] args, ClassSE<T> requiredType) 使用すべきではありません。5.3 現在、queryForObject(String, Class, Object...)
を推奨<T> T
queryForObject
(StringSE sql, ObjectSE[] args, RowMapper<T> rowMapper) 使用すべきではありません。5.3 現在、queryForObject(String, RowMapper, Object...)
を推奨<T> T
queryForObject
(StringSE sql, RowMapper<T> rowMapper) 静的 SQL を指定してクエリを実行し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。<T> T
queryForObject
(StringSE sql, RowMapper<T> rowMapper, ObjectSE... args) 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。queryForRowSet
(StringSE sql) 静的 SQL を指定して、SqlRowSet のクエリを実行します。queryForRowSet
(StringSE sql, ObjectSE... args) 指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。queryForRowSet
(StringSE sql, ObjectSE[] args, int[] argTypes) 指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。<T> StreamSE<T>
queryForStream
(StringSE sql, PreparedStatementSetter pss, RowMapper<T> rowMapper) 指定された SQL をクエリして、SQL とクエリに値をバインドする方法を知っている PreparedStatementSetter 実装から準備済みステートメントを作成し、各行を RowMapper を介して結果オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。<T> StreamSE<T>
queryForStream
(StringSE sql, RowMapper<T> rowMapper) 静的 SQL を指定してクエリを実行し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。<T> StreamSE<T>
queryForStream
(StringSE sql, RowMapper<T> rowMapper, ObjectSE... args) 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。<T> StreamSE<T>
queryForStream
(PreparedStatementCreator psc, RowMapper<T> rowMapper) 準備済みステートメントを使用してクエリを実行し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。int
単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行します。int
準備されたステートメントを介して、単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、指定された引数をバインドします。int
準備されたステートメントを介して、単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、指定された引数をバインドします。int
update
(StringSE sql, PreparedStatementSetter pss) PreparedStatementSetter を使用して更新ステートメントを発行し、指定された SQL でバインドパラメーターを設定します。int
PreparedStatementCreator を使用して単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、SQL および必要なパラメーターを提供します。int
update
(PreparedStatementCreator psc, KeyHolder generatedKeyHolder) PreparedStatementCreator を使用して更新ステートメントを発行し、SQL および必要なパラメーターを提供します。
メソッドの詳細
execute
JDBC 接続で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で任意のデータアクセス操作を実装できます。つまり、Spring 管理のトランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- パラメーター:
action
- アクションを指定するコールバックオブジェクト- 戻り値:
- アクションによって返された結果オブジェクト。ない場合は
null
- 例外:
DataAccessException
- 問題がある場合
execute
JDBC ステートメントで動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLExceptions を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- パラメーター:
action
- アクションを指定するコールバック- 戻り値:
- アクションによって返された結果オブジェクト。ない場合は
null
- 例外:
DataAccessException
- 問題がある場合
execute
単一の SQL 実行(通常は DDL ステートメント)を発行します。- パラメーター:
sql
- 実行する静的 SQL- 例外:
DataAccessException
- 問題がある場合
query
静的 SQL を指定してクエリを実行し、ResultSet を ResultSetExtractor で読み取ります。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたquery
メソッドを使用します。- パラメーター:
sql
- 実行する SQL クエリrse
- 結果のすべての行を抽出するコールバック- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
query
RowCallbackHandler を使用して行ごとに ResultSet を読み取り、静的 SQL を指定してクエリを実行します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたquery
メソッドを使用します。- パラメーター:
sql
- 実行する SQL クエリrch
- 結果を 1 行ずつ抽出するコールバック- 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
query
静的 SQL を指定してクエリを実行し、RowMapper を介して各行を結果オブジェクトにマッピングします。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたquery
メソッドを使用します。- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForStream
静的 SQL を指定してクエリを実行し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたquery
メソッドを使用します。- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば try-with-resources 句を使用)
- 例外:
DataAccessException
- クエリの実行に問題がある場合- 導入:
- 5.3
- 関連事項:
queryForObject
静的 SQL を指定してクエリを実行し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたqueryForObject(String, RowMapper, Object...)
メソッドを使用します。- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- 単一のマッピングされたオブジェクト (指定された
RowMapper
が null を返した場合、null
になることがあります) - 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForObject
静的 SQL を指定して、結果オブジェクトのクエリを実行します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたqueryForObject(String, Class, Object...)
メソッドを使用します。このメソッドは、既知の結果で静的 SQL を実行できます。クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
- パラメーター:
sql
- 実行する SQL クエリrequiredType
- 結果オブジェクトが一致すると予想される型- 戻り値:
- 必要な型の結果オブジェクト、または SQL NULL の場合は
null
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForMap
静的 SQL を指定して、結果マップのクエリを実行します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたqueryForMap(String, Object...)
メソッドを使用します。クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
- パラメーター:
sql
- 実行する SQL クエリ- 戻り値:
- 結果マップ (列名をキーとして、列ごとに 1 つのエントリ)
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForList
静的 SQL を指定して、結果リストのクエリを実行します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたqueryForList
メソッドを使用します。結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
- パラメーター:
sql
- 実行する SQL クエリelementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)- 戻り値:
- 指定された要素型に一致するオブジェクトのリスト
- 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForList
静的 SQL を指定して、結果リストのクエリを実行します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたqueryForList
メソッドを使用します。結果は、マップのリスト(各行に 1 つのエントリ)にマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。リスト内の各要素は、このインターフェースの
queryForMap
メソッドによって返される形式になります。- パラメーター:
sql
- 実行する SQL クエリ- 戻り値:
- 行ごとにマップを含むリスト
- 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForRowSet
静的 SQL を指定して、SqlRowSet のクエリを実行します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたqueryForRowSet
メソッドを使用します。結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、JDBC RowSet サポートが実行時に使用可能である必要があることに注意してください。デフォルトでは、Sun の
com.sun.rowset.CachedRowSetImpl
クラスが使用されます。これは、JDK 1.5 + の一部であり、Sun の JDBC RowSet 実装のダウンロード(rowset.jar)の一部として個別に入手することもできます。- パラメーター:
sql
- 実行する SQL クエリ- 戻り値:
- SqlRowSet 表現 (おそらく
javax.sql.rowset.CachedRowSet
のラッパー) - 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
update
単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行します。- パラメーター:
sql
- 実行する静的 SQL- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 問題がある場合。
batchUpdate
バッチ処理を使用して、単一の JDBC ステートメントで複数の SQL 更新を発行します。JDBC ドライバーがバッチ更新をサポートしていない場合、単一のステートメントで個別の更新にフォールバックします。
- パラメーター:
sql
- 実行される SQL ステートメントの配列を定義します。- 戻り値:
- 各ステートメントの影響を受ける行数の配列
- 例外:
DataAccessException
- バッチの実行に問題がある場合
execute
@Nullable <T> T execute(PreparedStatementCreator psc, PreparedStatementCallback<T> action) throws DataAccessException JDBC PreparedStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックaction
- アクションを指定するコールバック- 戻り値:
- アクションによって返された結果オブジェクト。ない場合は
null
- 例外:
DataAccessException
- 問題がある場合
execute
@Nullable <T> T execute(StringSE sql, PreparedStatementCallback<T> action) throws DataAccessException JDBC PreparedStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- パラメーター:
sql
- 実行する SQLaction
- アクションを指定するコールバック- 戻り値:
- アクションによって返された結果オブジェクト。ない場合は
null
- 例外:
DataAccessException
- 問題がある場合
query
@Nullable <T> T query(PreparedStatementCreator psc, ResultSetExtractor<T> rse) throws DataAccessException ResultSet を ResultSetExtractor で読み取り、準備済みステートメントを使用して照会します。PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックrse
- 結果を抽出するコールバック- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- 問題がある場合- 関連事項:
query
@Nullable <T> T query(StringSE sql, @Nullable PreparedStatementSetter pss, ResultSetExtractor<T> rse) throws DataAccessException ResultSet を ResultSetExtractor で読み取り、準備済みステートメントを使用して照会します。- パラメーター:
sql
- 実行する SQL クエリpss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これがnull
の場合、SQL にはバインドパラメーターが含まれないと見なされます。バインドパラメーターがない場合でも、このコールバックを使用してフェッチサイズやその他のパフォーマンスオプションを設定できます。rse
- 結果を抽出するコールバック- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- 問題がある場合
query
@Nullable <T> T query(StringSE sql, ObjectSE[] args, int[] argTypes, ResultSetExtractor<T> rse) throws DataAccessException 指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)rse
- 結果を抽出するコールバック- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
query
@DeprecatedSE @Nullable <T> T query(StringSE sql, @Nullable ObjectSE[] args, ResultSetExtractor<T> rse) throws DataAccessException 使用すべきではありません。5.3 現在、query(String, ResultSetExtractor, Object...)
を推奨指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。rse
- 結果を抽出するコールバック- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- クエリが失敗した場合
query
@Nullable <T> T query(StringSE sql, ResultSetExtractor<T> rse, @Nullable ObjectSE... args) throws DataAccessException 指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。- パラメーター:
sql
- 実行する SQL クエリrse
- 結果を抽出するコールバックargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- クエリが失敗した場合- 導入:
- 3.0.1
query
RowCallbackHandler で行ごとに ResultSet を読み取り、準備されたステートメントを使用して照会します。PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックrch
- 結果を 1 行ずつ抽出するコールバック- 例外:
DataAccessException
- 問題がある場合- 関連事項:
query
void query(StringSE sql, @Nullable PreparedStatementSetter pss, RowCallbackHandler rch) throws DataAccessException 指定された SQL を照会して、SQL から準備済みステートメントを作成し、値を照会にバインドする方法を知っている PreparedStatementSetter 実装を作成し、RowCallbackHandler で行ごとに ResultSet を読み取ります。- パラメーター:
sql
- 実行する SQL クエリpss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これがnull
の場合、SQL にはバインドパラメーターが含まれないと見なされます。バインドパラメーターがない場合でも、このコールバックを使用してフェッチサイズやその他のパフォーマンスオプションを設定できます。rch
- 結果を 1 行ずつ抽出するコールバック- 例外:
DataAccessException
- クエリが失敗した場合
query
void query(StringSE sql, ObjectSE[] args, int[] argTypes, RowCallbackHandler rch) throws DataAccessException 指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)rch
- 結果を 1 行ずつ抽出するコールバック- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
query
@DeprecatedSE void query(StringSE sql, @Nullable ObjectSE[] args, RowCallbackHandler rch) throws DataAccessException 使用すべきではありません。5.3 現在、query(String, RowCallbackHandler, Object...)
を推奨指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。rch
- 結果を 1 行ずつ抽出するコールバック- 例外:
DataAccessException
- クエリが失敗した場合
query
void query(StringSE sql, RowCallbackHandler rch, @Nullable ObjectSE... args) throws DataAccessException 指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。- パラメーター:
sql
- 実行する SQL クエリrch
- 結果を 1 行ずつ抽出するコールバックargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 例外:
DataAccessException
- クエリが失敗した場合- 導入:
- 3.0.1
query
<T> ListSE<T> query(PreparedStatementCreator psc, RowMapper<T> rowMapper) throws DataAccessException 準備済みステートメントを使用して照会し、RowMapper を介して各行を結果オブジェクトにマッピングします。PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- 問題がある場合- 関連事項:
query
<T> ListSE<T> query(StringSE sql, @Nullable PreparedStatementSetter pss, RowMapper<T> rowMapper) throws DataAccessException 与えられた SQL をクエリして、SQL から準備されたステートメントを作成し、RowMapper を介して各行を結果オブジェクトにマッピングして、クエリに値をバインドする方法を知っている PreparedStatementSetter 実装を作成します。- パラメーター:
sql
- 実行する SQL クエリpss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これがnull
の場合、SQL にはバインドパラメーターが含まれないと見なされます。バインドパラメーターがない場合でも、このコールバックを使用してフェッチサイズやその他のパフォーマンスオプションを設定できます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリが失敗した場合
query
<T> ListSE<T> query(StringSE sql, ObjectSE[] args, int[] argTypes, RowMapper<T> rowMapper) throws DataAccessException 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を結果オブジェクトにマッピングします。- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
query
@DeprecatedSE <T> ListSE<T> query(StringSE sql, @Nullable ObjectSE[] args, RowMapper<T> rowMapper) throws DataAccessException 使用すべきではありません。5.3 現在、query(String, RowMapper, Object...)
を推奨指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を結果オブジェクトにマッピングします。- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリが失敗した場合
query
<T> ListSE<T> query(StringSE sql, RowMapper<T> rowMapper, @Nullable ObjectSE... args) throws DataAccessException 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を結果オブジェクトにマッピングします。- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバックargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリが失敗した場合- 導入:
- 3.0.1
queryForStream
<T> StreamSE<T> queryForStream(PreparedStatementCreator psc, RowMapper<T> rowMapper) throws DataAccessException 準備済みステートメントを使用してクエリを実行し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば try-with-resources 句を使用)
- 例外:
DataAccessException
- 問題がある場合- 導入:
- 5.3
- 関連事項:
queryForStream
<T> StreamSE<T> queryForStream(StringSE sql, @Nullable PreparedStatementSetter pss, RowMapper<T> rowMapper) throws DataAccessException 指定された SQL をクエリして、SQL とクエリに値をバインドする方法を知っている PreparedStatementSetter 実装から準備済みステートメントを作成し、各行を RowMapper を介して結果オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。- パラメーター:
sql
- 実行する SQL クエリpss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これがnull
の場合、SQL にはバインドパラメーターが含まれないと見なされます。バインドパラメーターがない場合でも、このコールバックを使用してフェッチサイズやその他のパフォーマンスオプションを設定できます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば try-with-resources 句を使用)
- 例外:
DataAccessException
- クエリが失敗した場合- 導入:
- 5.3
queryForStream
<T> StreamSE<T> queryForStream(StringSE sql, RowMapper<T> rowMapper, @Nullable ObjectSE... args) throws DataAccessException 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバックargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば try-with-resources 句を使用)
- 例外:
DataAccessException
- クエリが失敗した場合- 導入:
- 5.3
queryForObject
@Nullable <T> T queryForObject(StringSE sql, ObjectSE[] args, int[] argTypes, RowMapper<T> rowMapper) throws DataAccessException 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数 (対応する SQL 型を推測するために PreparedStatement に任せる)argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- 単一のマッピングされたオブジェクト (指定された
RowMapper
が null を返した場合、null
になることがあります) - 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合
queryForObject
@DeprecatedSE @Nullable <T> T queryForObject(StringSE sql, @Nullable ObjectSE[] args, RowMapper<T> rowMapper) throws DataAccessException 使用すべきではありません。5.3 現在、queryForObject(String, RowMapper, Object...)
を推奨指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- 単一のマッピングされたオブジェクト (指定された
RowMapper
が null を返した場合、null
になることがあります) - 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合
queryForObject
@Nullable <T> T queryForObject(StringSE sql, RowMapper<T> rowMapper, @Nullable ObjectSE... args) throws DataAccessException 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバックargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- 単一のマッピングされたオブジェクト (指定された
RowMapper
が null を返した場合、null
になることがあります) - 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合- 導入:
- 3.0.1
queryForObject
@Nullable <T> T queryForObject(StringSE sql, ObjectSE[] args, int[] argTypes, ClassSE<T> requiredType) throws DataAccessException 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)requiredType
- 結果オブジェクトが一致すると予想される型- 戻り値:
- 必要な型の結果オブジェクト、または SQL NULL の場合は
null
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForObject
@DeprecatedSE @Nullable <T> T queryForObject(StringSE sql, @Nullable ObjectSE[] args, ClassSE<T> requiredType) throws DataAccessException 使用すべきではありません。5.3 現在、queryForObject(String, Class, Object...)
を推奨指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。requiredType
- 結果オブジェクトが一致すると予想される型- 戻り値:
- 必要な型の結果オブジェクト、または SQL NULL の場合は
null
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForObject
@Nullable <T> T queryForObject(StringSE sql, ClassSE<T> requiredType, @Nullable ObjectSE... args) throws DataAccessException 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
- パラメーター:
sql
- 実行する SQL クエリrequiredType
- 結果オブジェクトが一致すると予想される型args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- 必要な型の結果オブジェクト、または SQL NULL の場合は
null
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合DataAccessException
- クエリが失敗した場合- 導入:
- 3.0.1
- 関連事項:
queryForMap
MapSE<StringSE,ObjectSE> queryForMap(StringSE sql, ObjectSE[] args, int[] argTypes) throws DataAccessException 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)- 戻り値:
- 結果マップ (列名をキーとして、列ごとに 1 つのエントリ)
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForMap
MapSE<StringSE,ObjectSE> queryForMap(StringSE sql, @Nullable ObjectSE... args) throws DataAccessException 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。このインターフェースで定義されている
queryForMap
メソッドは、ドメインモデルがない場合に適しています。それ以外の場合は、queryForObject
メソッドのいずれかを使用することを検討してください。クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- 結果マップ (列名をキーとして使用して、列ごとに 1 つのエントリ)
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
<T> ListSE<T> queryForList(StringSE sql, ObjectSE[] args, int[] argTypes, ClassSE<T> elementType) throws DataAccessException 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)elementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)- 戻り値:
- 指定された要素型に一致するオブジェクトのリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
@DeprecatedSE <T> ListSE<T> queryForList(StringSE sql, @Nullable ObjectSE[] args, ClassSE<T> elementType) throws DataAccessException 使用すべきではありません。5.3 現在、queryForList(String, Class, Object...)
を推奨指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。elementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)- 戻り値:
- 指定された要素型に一致するオブジェクトのリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
<T> ListSE<T> queryForList(StringSE sql, ClassSE<T> elementType, @Nullable ObjectSE... args) throws DataAccessException 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
- パラメーター:
sql
- 実行する SQL クエリelementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- 指定された要素型に一致するオブジェクトのリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 導入:
- 3.0.1
- 関連事項:
queryForList
ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql, ObjectSE[] args, int[] argTypes) throws DataAccessException 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、マップのリスト(行ごとに 1 つのエントリ)にマップされます(列名をキーとして使用して、列ごとに 1 つのエントリ)。リスト内の各要素は、このインターフェースの
queryForMap
メソッドによって返される形式になります。- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)- 戻り値:
- 行ごとにマップを含むリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql, @Nullable ObjectSE... args) throws DataAccessException 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、マップのリスト(行ごとに 1 つのエントリ)にマップされます(列名をキーとして使用して、列ごとに 1 つのエントリ)。リスト内の各要素は、このインターフェースの
queryForMap
メソッドによって返される形式になります。- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- 行ごとにマップを含むリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForRowSet
指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、JDBC RowSet サポートが実行時に使用可能である必要があることに注意してください。デフォルトでは、Sun の
com.sun.rowset.CachedRowSetImpl
クラスが使用されます。これは、JDK 1.5 + の一部であり、Sun の JDBC RowSet 実装のダウンロード(rowset.jar)の一部として個別に入手することもできます。- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)- 戻り値:
- SqlRowSet 表現 (おそらく
javax.sql.rowset.CachedRowSet
のラッパー) - 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForRowSet
指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、JDBC RowSet サポートが実行時に使用可能である必要があることに注意してください。デフォルトでは、Sun の
com.sun.rowset.CachedRowSetImpl
クラスが使用されます。これは、JDK 1.5 + の一部であり、Sun の JDBC RowSet 実装のダウンロード(rowset.jar)の一部として個別に入手することもできます。- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- SqlRowSet 表現 (おそらく
javax.sql.rowset.CachedRowSet
のラッパー) - 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
update
PreparedStatementCreator を使用して単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、SQL および必要なパラメーターを提供します。PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
- パラメーター:
psc
- SQL および必要なパラメーターを提供するコールバック- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合- 関連事項:
update
PreparedStatementCreator を使用して更新ステートメントを発行し、SQL および必要なパラメーターを提供します。生成されたキーは、指定された KeyHolder に配置されます。指定された PreparedStatementCreator は、生成されたキーの抽出をアクティブ化するステートメントを作成する必要があることに注意してください(JDBC 3.0 機能)。これは、直接または PreparedStatementCreatorFactory を使用して行うことができます。
この方法では、JDBC ドライバーで生成されたキーのサポートが必要です。
- パラメーター:
psc
- SQL および必要なパラメーターを提供するコールバックgeneratedKeyHolder
- 生成されたキーを保持する KeyHolder- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合- 関連事項:
update
PreparedStatementSetter を使用して更新ステートメントを発行し、指定された SQL でバインドパラメーターを設定します。この方法は PreparedStatement を作成するため、PreparedStatementCreator を使用するよりも簡単です。PreparedStatementSetter はパラメーターを設定するだけです。- パラメーター:
sql
- バインドパラメーターを含む SQLpss
- バインドパラメーターを設定するヘルパー。これがnull
の場合、静的 SQL で更新を実行します。- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合
update
準備されたステートメントを介して、単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、指定された引数をバインドします。- パラメーター:
sql
- バインドパラメーターを含む SQLargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合- 関連事項:
update
準備されたステートメントを介して、単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、指定された引数をバインドします。- パラメーター:
sql
- バインドパラメーターを含む SQLargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合
batchUpdate
単一の PreparedStatement で複数の更新ステートメントを発行し、バッチ更新と BatchPreparedStatementSetter を使用して値を設定します。JDBC ドライバーがバッチ更新をサポートしていない場合、単一の PreparedStatement で個別の更新にフォールバックします。
- パラメーター:
sql
- 再利用される PreparedStatement を定義します。バッチ内のすべてのステートメントは同じ SQL を使用します。pss
- このメソッドによって作成された PreparedStatement にパラメーターを設定するオブジェクト- 戻り値:
- 各ステートメントの影響を受ける行数の配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります) - 例外:
DataAccessException
- 更新の発行に問題がある場合
batchUpdate
int[] batchUpdate(PreparedStatementCreator psc, BatchPreparedStatementSetter pss, KeyHolder generatedKeyHolder) throws DataAccessException バッチ更新と BatchPreparedStatementSetter を使用して値を設定し、単一の PreparedStatement で複数の更新ステートメントを発行します。生成されたキーは、指定された KeyHolder に配置されます。指定された PreparedStatementCreator は、生成されたキーの抽出をアクティブ化するステートメントを作成する必要があることに注意してください(JDBC 3.0 機能)。これは、直接または PreparedStatementCreatorFactory を使用して行うことができます。
この方法では、JDBC ドライバーで生成されたキーのサポートが必要です。JDBC ドライバーがバッチ更新をサポートしていない場合は、単一の PreparedStatement での個別の更新にフォールバックします。
- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックpss
- このメソッドによって作成された PreparedStatement にパラメーターを設定するオブジェクトgeneratedKeyHolder
- 生成されたキーを保持する KeyHolder- 戻り値:
- 各ステートメントの影響を受ける行数の配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります) - 例外:
DataAccessException
- 更新の発行に問題がある場合- 導入:
- 6.1
- 関連事項:
batchUpdate
提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。- パラメーター:
sql
- 実行する SQL ステートメントbatchArgs
- クエリの引数のバッチを含むオブジェクト配列のリスト- 戻り値:
- バッチ内の各更新によって影響を受ける行の数を含む配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります) - 例外:
DataAccessException
- 更新の発行に問題がある場合
batchUpdate
int[] batchUpdate(StringSE sql, ListSE<ObjectSE[]> batchArgs, int[] argTypes) throws DataAccessException 提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。- パラメーター:
sql
- 実行する SQL ステートメント。batchArgs
- クエリの引数のバッチを含むオブジェクト配列のリストargTypes
- 引数の SQL 型 (java.sql.Types
からの定数)- 戻り値:
- バッチ内の各更新によって影響を受ける行の数を含む配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります) - 例外:
DataAccessException
- 更新の発行に問題がある場合
batchUpdate
<T> int[][] batchUpdate(StringSE sql, CollectionSE<T> batchArgs, int batchSize, ParameterizedPreparedStatementSetter<T> pss) throws DataAccessException 指定された一連の引数を含む指定された SQL ステートメントを使用して、複数のバッチを実行します。引数の値は ParameterizedPreparedStatementSetter を使用して設定されます。各バッチのサイズは 'batchSize' で示されるサイズである必要があります。- パラメーター:
sql
- 実行する SQL ステートメント。batchArgs
- クエリの引数のバッチを含むオブジェクト配列のリストbatchSize
- バッチサイズpss
- 使用する ParameterizedPreparedStatementSetter- 戻り値:
- バッチごとに、バッチ内の各更新によって影響を受ける行の数を含む別の配列を含む配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります) - 例外:
DataAccessException
- 更新の発行に問題がある場合- 導入:
- 3.1
execute
@Nullable <T> T execute(CallableStatementCreator csc, CallableStatementCallback<T> action) throws DataAccessException JDBC CallableStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- パラメーター:
csc
- 接続を指定して CallableStatement を作成するコールバックaction
- アクションを指定するコールバック- 戻り値:
- アクションによって返された結果オブジェクト。ない場合は
null
- 例外:
DataAccessException
- 問題がある場合
execute
@Nullable <T> T execute(StringSE callString, CallableStatementCallback<T> action) throws DataAccessException JDBC CallableStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- パラメーター:
callString
- 実行する SQL 呼び出し文字列action
- アクションを指定するコールバック- 戻り値:
- アクションによって返された結果オブジェクト。ない場合は
null
- 例外:
DataAccessException
- 問題がある場合
call
MapSE<StringSE,ObjectSE> call(CallableStatementCreator csc, ListSE<SqlParameter> declaredParameters) throws DataAccessException CallableStatementCreator を使用して SQL 呼び出しを実行し、SQL および必要なパラメーターを提供します。- パラメーター:
csc
- SQL および必要なパラメーターを提供するコールバックdeclaredParameters
- 宣言された SqlParameter オブジェクトのリスト- 戻り値:
- 抽出されたパラメーターのマップ
- 例外:
DataAccessException
- 更新の発行に問題がある場合
query(String, ResultSetExtractor, Object...)
を推奨