public interface NamedParameterJdbcOperations
これは、NamedParameterJdbcTemplate
によって実装される、典型的な JdbcOperations
インターフェースの代替です。このインターフェースは直接使用されることはあまりありませんが、簡単にモックまたはスタブ化できるため、テスト容易性を高める便利なオプションを提供します。
NamedParameterJdbcTemplate
, JdbcOperations
修飾子と型 | メソッドと説明 |
---|---|
int[] | batchUpdate(StringSE sql, MapSE<StringSE,?>[] batchValues) 提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。 |
int[] | batchUpdate(StringSE sql, SqlParameterSource[] batchArgs) 提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。 |
<T> T | execute(StringSE sql, MapSE<StringSE,?> paramMap, PreparedStatementCallback<T> action) JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。 |
<T> T | execute(StringSE sql, PreparedStatementCallback<T> action) JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。 |
<T> T | execute(StringSE sql, SqlParameterSource paramSource, PreparedStatementCallback<T> action) JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。 |
JdbcOperations | getJdbcOperations() クラシック Spring JdbcTemplate を公開して、クラシック JDBC 操作の呼び出しを許可します。 |
<T> T | query(StringSE sql, MapSE<StringSE,?> paramMap, ResultSetExtractor<T> rse) 指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。 |
void | query(StringSE sql, MapSE<StringSE,?> paramMap, RowCallbackHandler rch) 指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。 |
<T> ListSE<T> | query(StringSE sql, MapSE<StringSE,?> paramMap, RowMapper<T> rowMapper) 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。 |
<T> T | query(StringSE sql, ResultSetExtractor<T> rse) 指定された SQL を照会して、ResultSet を ResultSetExtractor で読み取り、SQL から準備済みステートメントを作成します。 |
void | query(StringSE sql, RowCallbackHandler rch) 指定された SQL を照会して、RowCallbackHandler を使用して行ごとに ResultSet を読み取り、SQL から準備済みステートメントを作成します。 |
<T> ListSE<T> | query(StringSE sql, RowMapper<T> rowMapper) 指定された SQL を照会して、SQL から準備済みステートメントを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。 |
<T> T | query(StringSE sql, SqlParameterSource paramSource, ResultSetExtractor<T> rse) 指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。 |
void | query(StringSE sql, SqlParameterSource paramSource, RowCallbackHandler rch) 指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。 |
<T> ListSE<T> | query(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper) 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。 |
ListSE<MapSE<StringSE, ObjectSE>> | queryForList(StringSE sql, MapSE<StringSE,?> paramMap) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。 |
<T> ListSE<T> | queryForList(StringSE sql, MapSE<StringSE,?> paramMap, ClassSE<T> elementType) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。 |
ListSE<MapSE<StringSE, ObjectSE>> | queryForList(StringSE sql, SqlParameterSource paramSource) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。 |
<T> ListSE<T> | queryForList(StringSE sql, SqlParameterSource paramSource, ClassSE<T> elementType) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。 |
MapSE<StringSE, ObjectSE> | queryForMap(StringSE sql, MapSE<StringSE,?> paramMap) 指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。 |
MapSE<StringSE, ObjectSE> | queryForMap(StringSE sql, SqlParameterSource paramSource) 指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。 |
<T> T | queryForObject(StringSE sql, MapSE<StringSE,?> paramMap, ClassSE<T> requiredType) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。 |
<T> T | queryForObject(StringSE sql, MapSE<StringSE,?> paramMap, RowMapper<T> rowMapper) 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を Java オブジェクトにマッピングします。 |
<T> T | queryForObject(StringSE sql, SqlParameterSource paramSource, ClassSE<T> requiredType) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。 |
<T> T | queryForObject(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper) 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を Java オブジェクトにマッピングします。 |
SqlRowSet | queryForRowSet(StringSE sql, MapSE<StringSE,?> paramMap) 指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。 |
SqlRowSet | queryForRowSet(StringSE sql, SqlParameterSource paramSource) 指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。 |
<T> StreamSE<T> | queryForStream(StringSE sql, MapSE<StringSE,?> paramMap, RowMapper<T> rowMapper) 指定された SQL をクエリして、SQL とクエリにバインドする引数のリストから準備済みステートメントを作成し、各行を RowMapper を介して Java オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。 |
<T> StreamSE<T> | queryForStream(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper) 指定された SQL をクエリして、SQL とクエリにバインドする引数のリストから準備済みステートメントを作成し、各行を RowMapper を介して Java オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。 |
int | update(StringSE sql, MapSE<StringSE,?> paramMap) 準備されたステートメントを介して更新を発行し、指定された引数をバインドします。 |
int | update(StringSE sql, SqlParameterSource paramSource) 準備されたステートメントを介して更新を発行し、指定された引数をバインドします。 |
int | update(StringSE sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder) 準備されたステートメントを介して更新を発行し、指定された引数をバインドし、生成されたキーを返します。 |
int | update(StringSE sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder, StringSE[] keyColumnNames) 準備されたステートメントを介して更新を発行し、指定された引数をバインドし、生成されたキーを返します。 |
JdbcOperations getJdbcOperations()
@Nullable <T> T execute(StringSE sql, SqlParameterSource paramSource, PreparedStatementCallback<T> action) throws DataAccessException
コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
sql
- 実行する SQLparamSource
- クエリにバインドする引数のコンテナー action
- アクションを指定するコールバックオブジェクト null
DataAccessException
- 問題がある場合 @Nullable <T> T execute(StringSE sql, MapSE<StringSE,?> paramMap, PreparedStatementCallback<T> action) throws DataAccessException
コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
sql
- 実行する SQLparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)action
- アクションを指定するコールバックオブジェクト null
DataAccessException
- 問題がある場合 @Nullable <T> T execute(StringSE sql, PreparedStatementCallback<T> action) throws DataAccessException
コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
sql
- 実行する SQLaction
- アクションを指定するコールバックオブジェクト null
DataAccessException
- 問題がある場合 @Nullable <T> T query(StringSE sql, SqlParameterSource paramSource, ResultSetExtractor<T> rse) throws DataAccessException
sql
- 実行する SQL クエリ paramSource
- クエリにバインドする引数のコンテナー rse
- 結果を抽出するオブジェクト DataAccessException
- クエリが失敗した場合 @Nullable <T> T query(StringSE sql, MapSE<StringSE,?> paramMap, ResultSetExtractor<T> rse) throws DataAccessException
sql
- 実行する SQL クエリ paramMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)rse
- 結果を抽出するオブジェクト DataAccessException
- クエリが失敗した場合 @Nullable <T> T query(StringSE sql, ResultSetExtractor<T> rse) throws DataAccessException
メモ: 同じ署名を持つ JdbcOperations メソッドとは対照的に、このクエリバリアントは常に PreparedStatement を使用します。これは、空のパラメーター Map を使用したクエリ呼び出しと実質的に同等です。
sql
- 実行する SQL クエリ rse
- 結果を抽出するオブジェクト DataAccessException
- クエリが失敗した場合 void query(StringSE sql, SqlParameterSource paramSource, RowCallbackHandler rch) throws DataAccessException
sql
- 実行する SQL クエリ paramSource
- クエリにバインドする引数のコンテナー rch
- 結果を 1 行ずつ抽出するオブジェクト DataAccessException
- クエリが失敗した場合 void query(StringSE sql, MapSE<StringSE,?> paramMap, RowCallbackHandler rch) throws DataAccessException
sql
- 実行する SQL クエリ paramMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)rch
- 結果を 1 行ずつ抽出するオブジェクト DataAccessException
- クエリが失敗した場合 void query(StringSE sql, RowCallbackHandler rch) throws DataAccessException
メモ: 同じ署名を持つ JdbcOperations メソッドとは対照的に、このクエリバリアントは常に PreparedStatement を使用します。これは、空のパラメーター Map を使用したクエリ呼び出しと実質的に同等です。
sql
- 実行する SQL クエリ rch
- 結果を 1 行ずつ抽出するオブジェクト DataAccessException
- クエリが失敗した場合 <T> ListSE<T> query(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper) throws DataAccessException
sql
- 実行する SQL クエリ paramSource
- クエリにバインドする引数のコンテナー rowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト DataAccessException
- クエリが失敗した場合 <T> ListSE<T> query(StringSE sql, MapSE<StringSE,?> paramMap, RowMapper<T> rowMapper) throws DataAccessException
sql
- 実行する SQL クエリ paramMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)rowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト DataAccessException
- クエリが失敗した場合 <T> ListSE<T> query(StringSE sql, RowMapper<T> rowMapper) throws DataAccessException
メモ: 同じ署名を持つ JdbcOperations メソッドとは対照的に、このクエリバリアントは常に PreparedStatement を使用します。これは、空のパラメーター Map を使用したクエリ呼び出しと実質的に同等です。
sql
- 実行する SQL クエリ rowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト DataAccessException
- クエリが失敗した場合 <T> StreamSE<T> queryForStream(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper) throws DataAccessException
sql
- 実行する SQL クエリ paramSource
- クエリにバインドする引数のコンテナー rowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト DataAccessException
- クエリが失敗した場合 <T> StreamSE<T> queryForStream(StringSE sql, MapSE<StringSE,?> paramMap, RowMapper<T> rowMapper) throws DataAccessException
sql
- 実行する SQL クエリ paramMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)rowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト DataAccessException
- クエリが失敗した場合 @Nullable <T> T queryForObject(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper) throws DataAccessException
sql
- 実行する SQL クエリ paramSource
- クエリにバインドする引数のコンテナー rowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト RowMapper
が null を返した場合、null
になることがあります)IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 DataAccessException
- クエリが失敗した場合 @Nullable <T> T queryForObject(StringSE sql, MapSE<StringSE,?> paramMap, RowMapper<T> rowMapper) throws DataAccessException
sql
- 実行する SQL クエリ paramMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)rowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト RowMapper
が null を返した場合、null
になることがあります)IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 DataAccessException
- クエリが失敗した場合 @Nullable <T> T queryForObject(StringSE sql, SqlParameterSource paramSource, ClassSE<T> requiredType) throws DataAccessException
クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
sql
- 実行する SQL クエリ paramSource
- クエリにバインドする引数のコンテナー requiredType
- 結果オブジェクトが一致すると予想される型 null
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合 DataAccessException
- クエリが失敗した場合 JdbcTemplate.queryForObject(String, Class)
, SingleColumnRowMapper
@Nullable <T> T queryForObject(StringSE sql, MapSE<StringSE,?> paramMap, ClassSE<T> requiredType) throws DataAccessException
クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
sql
- 実行する SQL クエリ paramMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)requiredType
- 結果オブジェクトが一致すると予想される型 null
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合 DataAccessException
- クエリが失敗した場合 JdbcTemplate.queryForObject(String, Class)
MapSE<StringSE,ObjectSE> queryForMap(StringSE sql, SqlParameterSource paramSource) throws DataAccessException
クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
sql
- 実行する SQL クエリ paramSource
- クエリにバインドする引数のコンテナー IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 DataAccessException
- クエリが失敗した場合 JdbcTemplate.queryForMap(String)
, ColumnMapRowMapper
MapSE<StringSE,ObjectSE> queryForMap(StringSE sql, MapSE<StringSE,?> paramMap) throws DataAccessException
クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
sql
- 実行する SQL クエリ paramMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 DataAccessException
- クエリが失敗した場合 JdbcTemplate.queryForMap(String)
, ColumnMapRowMapper
<T> ListSE<T> queryForList(StringSE sql, SqlParameterSource paramSource, ClassSE<T> elementType) throws DataAccessException
結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
sql
- 実行する SQL クエリ paramSource
- クエリにバインドする引数のコンテナー elementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)DataAccessException
- クエリが失敗した場合 JdbcTemplate.queryForList(String, Class)
, SingleColumnRowMapper
<T> ListSE<T> queryForList(StringSE sql, MapSE<StringSE,?> paramMap, ClassSE<T> elementType) throws DataAccessException
結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
sql
- 実行する SQL クエリ paramMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)elementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)DataAccessException
- クエリが失敗した場合 JdbcTemplate.queryForList(String, Class)
, SingleColumnRowMapper
ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql, SqlParameterSource paramSource) throws DataAccessException
結果は、マップのリスト(行ごとに 1 つのエントリ)にマップされます(列名をキーとして使用して、列ごとに 1 つのエントリ)。リスト内の各要素は、このインターフェースの queryForMap
メソッドによって返される形式になります。
sql
- 実行する SQL クエリ paramSource
- クエリにバインドする引数のコンテナー DataAccessException
- クエリが失敗した場合 JdbcTemplate.queryForList(String)
ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql, MapSE<StringSE,?> paramMap) throws DataAccessException
結果は、マップのリスト(行ごとに 1 つのエントリ)にマップされます(列名をキーとして使用して、列ごとに 1 つのエントリ)。リスト内の各要素は、このインターフェースの queryForMap
メソッドによって返される形式になります。
sql
- 実行する SQL クエリ paramMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)DataAccessException
- クエリが失敗した場合 JdbcTemplate.queryForList(String)
SqlRowSet queryForRowSet(StringSE sql, SqlParameterSource paramSource) throws DataAccessException
結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、JDBC RowSet サポートが実行時に使用可能である必要があることに注意してください。デフォルトでは、Sun の com.sun.rowset.CachedRowSetImpl
クラスが使用されます。これは、JDK 1.5 + の一部であり、Sun の JDBC RowSet 実装のダウンロード(rowset.jar)の一部として個別に入手することもできます。
sql
- 実行する SQL クエリ paramSource
- クエリにバインドする引数のコンテナー javax.sql.rowset.CachedRowSet
のラッパー)DataAccessException
- クエリの実行に問題がある場合 JdbcTemplate.queryForRowSet(String)
, SqlRowSetResultSetExtractor
, CachedRowSet
SESqlRowSet queryForRowSet(StringSE sql, MapSE<StringSE,?> paramMap) throws DataAccessException
結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、JDBC RowSet サポートが実行時に使用可能である必要があることに注意してください。デフォルトでは、Sun の com.sun.rowset.CachedRowSetImpl
クラスが使用されます。これは、JDK 1.5 + の一部であり、Sun の JDBC RowSet 実装のダウンロード(rowset.jar)の一部として個別に入手することもできます。
sql
- 実行する SQL クエリ paramMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)javax.sql.rowset.CachedRowSet
のラッパー)DataAccessException
- クエリの実行に問題がある場合 JdbcTemplate.queryForRowSet(String)
, SqlRowSetResultSetExtractor
, CachedRowSet
SEint update(StringSE sql, SqlParameterSource paramSource) throws DataAccessException
sql
- 名前付きパラメーターを含む SQLparamSource
- クエリにバインドする引数と SQL 型のコンテナー DataAccessException
- 更新の発行に問題がある場合 int update(StringSE sql, MapSE<StringSE,?> paramMap) throws DataAccessException
sql
- 名前付きパラメーターを含む SQLparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)DataAccessException
- 更新の発行に問題がある場合 int update(StringSE sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder) throws DataAccessException
sql
- 名前付きパラメーターを含む SQLparamSource
- クエリにバインドする引数と SQL 型のコンテナー generatedKeyHolder
- 生成されたキーを保持する KeyHolder
DataAccessException
- 更新の発行に問題がある場合 MapSqlParameterSource
, GeneratedKeyHolder
int update(StringSE sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder, StringSE[] keyColumnNames) throws DataAccessException
sql
- 名前付きパラメーターを含む SQLparamSource
- クエリにバインドする引数と SQL 型のコンテナー generatedKeyHolder
- 生成されたキーを保持する KeyHolder
keyColumnNames
- キーが生成される列の名前 DataAccessException
- 更新の発行に問題がある場合 MapSqlParameterSource
, GeneratedKeyHolder
int[] batchUpdate(StringSE sql, MapSE<StringSE,?>[] batchValues)
sql
- 実行する SQL ステートメント batchValues
- クエリの引数のバッチを含むマップの配列 Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります)DataAccessException
- 更新の発行に問題がある場合 int[] batchUpdate(StringSE sql, SqlParameterSource[] batchArgs)
sql
- 実行する SQL ステートメント batchArgs
- クエリの引数のバッチを含む SqlParameterSource
の配列 Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります)DataAccessException
- 更新の発行に問題がある場合