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