クラス NamedParameterJdbcTemplate
- 実装されたすべてのインターフェース:
NamedParameterJdbcOperations
このクラスは、名前付きパラメーターから JDBC スタイル "?" への置換が完了すると、ラップされた JdbcTemplate
に委譲します。プレースホルダーは実行時に行われます。また、値の List
SE を適切な数のプレースホルダーに拡張できます。
このテンプレートクラスのインスタンスは、一度設定されるとスレッドセーフになります。基盤となる JdbcTemplate
は、従来の JdbcTemplate
メソッドに簡単にアクセスできるように公開されています。
注: 6.1 では、JdbcClient
の形式で利用可能な統合 JDBC アクセスファサードがあります。JdbcClient
は、インデックス付きパラメーターまたは名前付きパラメーターを柔軟に使用して、一般的な JDBC クエリ / 更新に流れるような API スタイルを提供します。実際の実行は JdbcTemplate
/NamedParameterJdbcTemplate
に委譲されます。
- 導入:
- 2.0
- 作成者:
- Thomas Risberg, Juergen Hoeller
- 関連事項:
フィールドサマリー
コンストラクターのサマリー
コンストラクター説明NamedParameterJdbcTemplate
(DataSourceSE dataSource) 指定されたDataSource
SE の新しい NamedParameterJdbcTemplate を作成します。NamedParameterJdbcTemplate
(JdbcOperations classicJdbcTemplate) 指定されたクラシック SpringJdbcTemplate
の新しい NamedParameterJdbcTemplate を作成します。メソッドのサマリー
修飾子と型メソッド説明int[]
batchUpdate
(StringSE sql, MapSE<StringSE, ?>[] batchValues) 提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。int[]
batchUpdate
(StringSE sql, SqlParameterSource[] batchArgs) 提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。int[]
batchUpdate
(StringSE sql, SqlParameterSource[] batchArgs, KeyHolder generatedKeyHolder) 指定された SQL ステートメントと指定された引数のバッチを使用してバッチを実行し、生成されたキーを返します。int[]
batchUpdate
(StringSE sql, SqlParameterSource[] batchArgs, KeyHolder generatedKeyHolder, StringSE[] keyColumnNames) 指定された SQL ステートメントと指定された引数のバッチを使用してバッチを実行し、生成されたキーを返します。<T> T
execute
(StringSE sql, MapSE<StringSE, ?> paramMap, PreparedStatementCallback<T> action) JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。<T> T
execute
(StringSE sql, SqlParameterSource paramSource, PreparedStatementCallback<T> action) JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。<T> T
execute
(StringSE sql, PreparedStatementCallback<T> action) JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。int
このテンプレートの SQL キャッシュのエントリの最大数を返します。あまり一般的ではないメソッドの呼び出しを可能にするために、典型的な Spring JdbcTemplate 操作を公開します。特に他のJdbcTemplate
コンシューマーに渡すために、可能であればクラシック SpringJdbcTemplate
自体を公開します。protected ParsedSql
getParsedSql
(StringSE sql) 指定された SQL ステートメントの解析された表現を取得します。protected PreparedStatementCreator
getPreparedStatementCreator
(StringSE sql, SqlParameterSource paramSource) 指定された SQL および名前付きパラメーターに基づいてPreparedStatementCreator
を作成します。protected PreparedStatementCreator
getPreparedStatementCreator
(StringSE sql, SqlParameterSource paramSource, ConsumerSE<PreparedStatementCreatorFactory> customizer) 指定された SQL および名前付きパラメーターに基づいてPreparedStatementCreator
を作成します。protected PreparedStatementCreatorFactory
getPreparedStatementCreatorFactory
(ParsedSql parsedSql, SqlParameterSource paramSource) 指定された SQL および名前付きパラメーターに基づいてPreparedStatementCreatorFactory
を作成します。<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>
指定された 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 オブジェクトにマッピングします。<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>
指定された SQL を照会して、SQL から準備済みステートメントを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。queryForList
(StringSE sql, MapSE<StringSE, ?> paramMap) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。<T> ListSE<T>
queryForList
(StringSE sql, MapSE<StringSE, ?> paramMap, ClassSE<T> elementType) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。queryForList
(StringSE sql, SqlParameterSource paramSource) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。<T> ListSE<T>
queryForList
(StringSE sql, SqlParameterSource paramSource, ClassSE<T> elementType) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。queryForMap
(StringSE sql, MapSE<StringSE, ?> paramMap) 指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。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 オブジェクトにマッピングします。queryForRowSet
(StringSE sql, MapSE<StringSE, ?> paramMap) 指定された SQL を照会して、SQL から準備済みステートメントを作成し、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 オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。void
setCacheLimit
(int cacheLimit) このテンプレートの SQL キャッシュのエントリの最大数を指定します。int
準備されたステートメントを介して更新を発行し、指定された引数をバインドします。int
update
(StringSE sql, SqlParameterSource paramSource) 準備されたステートメントを介して更新を発行し、指定された引数をバインドします。int
update
(StringSE sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder) 準備されたステートメントを介して更新を発行し、指定された引数をバインドし、生成されたキーを返します。int
update
(StringSE sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder, StringSE[] keyColumnNames) 準備されたステートメントを介して更新を発行し、指定された引数をバインドし、生成されたキーを返します。
フィールドの詳細
DEFAULT_CACHE_LIMIT
public static final int DEFAULT_CACHE_LIMITこのテンプレートの SQL キャッシュのエントリのデフォルトの最大数: 256。- 関連事項:
コンストラクターの詳細
NamedParameterJdbcTemplate
指定されたDataSource
SE の新しい NamedParameterJdbcTemplate を作成します。クラシック Spring
JdbcTemplate
を作成してラップします。- パラメーター:
dataSource
- アクセスする JDBC DataSource
NamedParameterJdbcTemplate
指定されたクラシック SpringJdbcTemplate
の新しい NamedParameterJdbcTemplate を作成します。- パラメーター:
classicJdbcTemplate
- ラップするクラシック Spring JdbcTemplate
メソッドの詳細
getJdbcOperations
あまり一般的ではないメソッドの呼び出しを可能にするために、典型的な Spring JdbcTemplate 操作を公開します。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のgetJdbcOperations
getJdbcTemplate
特に他のJdbcTemplate
コンシューマーに渡すために、可能であればクラシック SpringJdbcTemplate
自体を公開します。当面の目的に十分であれば、このバリアントよりも
getJdbcOperations()
をお勧めします。- 導入:
- 5.0.3
setCacheLimit
public void setCacheLimit(int cacheLimit) このテンプレートの SQL キャッシュのエントリの最大数を指定します。デフォルトは 256. 0 で、キャッシュがないことを示し、常に各ステートメントを解析します。getCacheLimit
public int getCacheLimit()このテンプレートの SQL キャッシュのエントリの最大数を返します。execute
@Nullable public <T> T execute(StringSE sql, SqlParameterSource paramSource, PreparedStatementCallback<T> action) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
JDBC PreparedStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のexecute
- パラメーター:
sql
- 実行する SQLparamSource
- クエリにバインドする引数のコンテナーaction
- アクションを指定するコールバックオブジェクト- 戻り値:
- アクションによって返される結果オブジェクト、または
null
- 例外:
DataAccessException
- 問題がある場合
execute
@Nullable public <T> T execute(StringSE sql, MapSE<StringSE, ?> paramMap, PreparedStatementCallback<T> action) throws DataAccessExceptionインターフェースからコピーされた説明:NamedParameterJdbcOperations
JDBC PreparedStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のexecute
- パラメーター:
sql
- 実行する SQLparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)action
- アクションを指定するコールバックオブジェクト- 戻り値:
- アクションによって返される結果オブジェクト、または
null
- 例外:
DataAccessException
- 問題がある場合
execute
@Nullable public <T> T execute(StringSE sql, PreparedStatementCallback<T> action) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
JDBC PreparedStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のexecute
- パラメーター:
sql
- 実行する SQLaction
- アクションを指定するコールバックオブジェクト- 戻り値:
- アクションによって返される結果オブジェクト、または
null
- 例外:
DataAccessException
- 問題がある場合
query
@Nullable public <T> T query(StringSE sql, SqlParameterSource paramSource, ResultSetExtractor<T> rse) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリparamSource
- クエリにバインドする引数のコンテナーrse
- 結果を抽出するオブジェクト- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- クエリが失敗した場合
query
@Nullable public <T> T query(StringSE sql, MapSE<StringSE, ?> paramMap, ResultSetExtractor<T> rse) throws DataAccessExceptionインターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)rse
- 結果を抽出するオブジェクト- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- クエリが失敗した場合
query
インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL を照会して、ResultSet を ResultSetExtractor で読み取り、SQL から準備済みステートメントを作成します。メモ: 同じ署名を持つ JdbcOperations メソッドとは対照的に、このクエリバリアントは常に PreparedStatement を使用します。これは、空のパラメーター Map を使用したクエリ呼び出しと実質的に同等です。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリrse
- 結果を抽出するオブジェクト- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- クエリが失敗した場合
query
public void query(StringSE sql, SqlParameterSource paramSource, RowCallbackHandler rch) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリparamSource
- クエリにバインドする引数のコンテナーrch
- 結果を 1 行ずつ抽出するオブジェクト- 例外:
DataAccessException
- クエリが失敗した場合
query
public void query(StringSE sql, MapSE<StringSE, ?> paramMap, RowCallbackHandler rch) throws DataAccessExceptionインターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)rch
- 結果を 1 行ずつ抽出するオブジェクト- 例外:
DataAccessException
- クエリが失敗した場合
query
インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL を照会して、RowCallbackHandler を使用して行ごとに ResultSet を読み取り、SQL から準備済みステートメントを作成します。メモ: 同じ署名を持つ JdbcOperations メソッドとは対照的に、このクエリバリアントは常に PreparedStatement を使用します。これは、空のパラメーター Map を使用したクエリ呼び出しと実質的に同等です。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリrch
- 結果を 1 行ずつ抽出するオブジェクト- 例外:
DataAccessException
- クエリが失敗した場合
query
public <T> ListSE<T> query(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリparamSource
- クエリにバインドする引数のコンテナーrowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリが失敗した場合
query
public <T> ListSE<T> query(StringSE sql, MapSE<StringSE, ?> paramMap, RowMapper<T> rowMapper) throws DataAccessExceptionインターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)rowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリが失敗した場合
query
インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL を照会して、SQL から準備済みステートメントを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。メモ: 同じ署名を持つ JdbcOperations メソッドとは対照的に、このクエリバリアントは常に PreparedStatement を使用します。これは、空のパラメーター Map を使用したクエリ呼び出しと実質的に同等です。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリが失敗した場合
queryForStream
public <T> StreamSE<T> queryForStream(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリして、SQL とクエリにバインドする引数のリストから準備済みステートメントを作成し、各行を RowMapper を介して Java オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForStream
- パラメーター:
sql
- 実行する SQL クエリparamSource
- クエリにバインドする引数のコンテナーrowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト- 戻り値:
- マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば try-with-resources 句を使用)
- 例外:
DataAccessException
- クエリが失敗した場合
queryForStream
public <T> StreamSE<T> queryForStream(StringSE sql, MapSE<StringSE, ?> paramMap, RowMapper<T> rowMapper) throws DataAccessExceptionインターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリして、SQL とクエリにバインドする引数のリストから準備済みステートメントを作成し、各行を RowMapper を介して Java オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForStream
- パラメーター:
sql
- 実行する SQL クエリparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)rowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト- 戻り値:
- マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば try-with-resources 句を使用)
- 例外:
DataAccessException
- クエリが失敗した場合
queryForObject
@Nullable public <T> T queryForObject(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を Java オブジェクトにマッピングします。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForObject
- パラメーター:
sql
- 実行する SQL クエリparamSource
- クエリにバインドする引数のコンテナーrowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト- 戻り値:
- 単一のマッピングされたオブジェクト (指定された
RowMapper
が null を返した場合、null
になることがあります) - 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合
queryForObject
@Nullable public <T> T queryForObject(StringSE sql, MapSE<StringSE, ?> paramMap, RowMapper<T> rowMapper) throws DataAccessExceptionインターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を Java オブジェクトにマッピングします。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForObject
- パラメーター:
sql
- 実行する SQL クエリparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)rowMapper
- 行ごとに 1 つのオブジェクトをマップするオブジェクト- 戻り値:
- 単一のマッピングされたオブジェクト (指定された
RowMapper
が null を返した場合、null
になることがあります) - 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合
queryForObject
@Nullable public <T> T queryForObject(StringSE sql, SqlParameterSource paramSource, ClassSE<T> requiredType) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForObject
- パラメーター:
sql
- 実行する SQL クエリparamSource
- クエリにバインドする引数のコンテナーrequiredType
- 結果オブジェクトが一致すると予想される型- 戻り値:
- 必要な型の結果オブジェクト、または SQL NULL の場合は
null
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForObject
@Nullable public <T> T queryForObject(StringSE sql, MapSE<StringSE, ?> paramMap, ClassSE<T> requiredType) throws DataAccessExceptionインターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForObject
- パラメーター:
sql
- 実行する SQL クエリparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)requiredType
- 結果オブジェクトが一致すると予想される型- 戻り値:
- 必要な型の結果オブジェクト、または SQL NULL の場合は
null
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForMap
public MapSE<StringSE,ObjectSE> queryForMap(StringSE sql, SqlParameterSource paramSource) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForMap
- パラメーター:
sql
- 実行する SQL クエリparamSource
- クエリにバインドする引数のコンテナー- 戻り値:
- 結果マップ (列名をキーとして使用して、列ごとに 1 つのエントリ)
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForMap
public MapSE<StringSE,ObjectSE> queryForMap(StringSE sql, MapSE<StringSE, ?> paramMap) throws DataAccessExceptionインターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。このインターフェースで定義される queryForMap() メソッドは、ドメインモデルがない場合に適しています。それ以外の場合は、queryForObject() メソッドのいずれかを使用することを検討してください。クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForMap
- パラメーター:
sql
- 実行する SQL クエリparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)- 戻り値:
- 結果マップ (列名をキーとして使用して、列ごとに 1 つのエントリ)
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
public <T> ListSE<T> queryForList(StringSE sql, SqlParameterSource paramSource, ClassSE<T> elementType) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForList
- パラメーター:
sql
- 実行する SQL クエリparamSource
- クエリにバインドする引数のコンテナーelementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)- 戻り値:
- 指定された要素型に一致するオブジェクトのリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
public <T> ListSE<T> queryForList(StringSE sql, MapSE<StringSE, ?> paramMap, ClassSE<T> elementType) throws DataAccessExceptionインターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForList
- パラメーター:
sql
- 実行する SQL クエリparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)elementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)- 戻り値:
- 指定された要素型に一致するオブジェクトのリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
public ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql, SqlParameterSource paramSource) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、マップのリスト(行ごとに 1 つのエントリ)にマップされます(列名をキーとして使用して、列ごとに 1 つのエントリ)。リスト内の各要素は、このインターフェースの
queryForMap
メソッドによって返される形式になります。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForList
- パラメーター:
sql
- 実行する SQL クエリparamSource
- クエリにバインドする引数のコンテナー- 戻り値:
- 行ごとにマップを含むリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
public ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql, MapSE<StringSE, ?> paramMap) throws DataAccessExceptionインターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、マップのリスト(行ごとに 1 つのエントリ)にマップされます(列名をキーとして使用して、列ごとに 1 つのエントリ)。リスト内の各要素は、このインターフェースの
queryForMap
メソッドによって返される形式になります。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForList
- パラメーター:
sql
- 実行する SQL クエリparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)- 戻り値:
- 行ごとにマップを含むリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForRowSet
public SqlRowSet queryForRowSet(StringSE sql, SqlParameterSource paramSource) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、JDBC RowSet サポートが実行時に使用可能である必要があることに注意してください。デフォルトでは、Sun の
com.sun.rowset.CachedRowSetImpl
クラスが使用されます。これは、JDK 1.5 + の一部であり、Sun の JDBC RowSet 実装のダウンロード(rowset.jar)の一部として個別に入手することもできます。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForRowSet
- パラメーター:
sql
- 実行する SQL クエリparamSource
- クエリにバインドする引数のコンテナー- 戻り値:
- SqlRowSet 表現 (おそらく
javax.sql.rowset.CachedRowSet
のラッパー) - 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForRowSet
public SqlRowSet queryForRowSet(StringSE sql, MapSE<StringSE, ?> paramMap) throws DataAccessExceptionインターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、JDBC RowSet サポートが実行時に使用可能である必要があることに注意してください。デフォルトでは、Sun の
com.sun.rowset.CachedRowSetImpl
クラスが使用されます。これは、JDK 1.5 + の一部であり、Sun の JDBC RowSet 実装のダウンロード(rowset.jar)の一部として個別に入手することもできます。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のqueryForRowSet
- パラメーター:
sql
- 実行する SQL クエリparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)- 戻り値:
- SqlRowSet 表現 (おそらく
javax.sql.rowset.CachedRowSet
のラッパー) - 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
update
インターフェースからコピーされた説明:NamedParameterJdbcOperations
準備されたステートメントを介して更新を発行し、指定された引数をバインドします。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のupdate
- パラメーター:
sql
- 名前付きパラメーターを含む SQLparamSource
- クエリにバインドする引数と SQL 型のコンテナー- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合
update
インターフェースからコピーされた説明:NamedParameterJdbcOperations
準備されたステートメントを介して更新を発行し、指定された引数をバインドします。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のupdate
- パラメーター:
sql
- 名前付きパラメーターを含む SQLparamMap
- クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合
update
public int update(StringSE sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
準備されたステートメントを介して更新を発行し、指定された引数をバインドし、生成されたキーを返します。この方法では、JDBC ドライバーで生成されたキーのサポートが必要です。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のupdate
- パラメーター:
sql
- 名前付きパラメーターを含む SQLparamSource
- クエリにバインドする引数と SQL 型のコンテナーgeneratedKeyHolder
- 生成されたキーを保持するKeyHolder
- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合- 関連事項:
update
public int update(StringSE sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder, @Nullable StringSE[] keyColumnNames) throws DataAccessException インターフェースからコピーされた説明:NamedParameterJdbcOperations
準備されたステートメントを介して更新を発行し、指定された引数をバインドし、生成されたキーを返します。この方法では、JDBC ドライバーで生成されたキーのサポートが必要です。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のupdate
- パラメーター:
sql
- 名前付きパラメーターを含む SQLparamSource
- クエリにバインドする引数と SQL 型のコンテナーgeneratedKeyHolder
- 生成されたキーを保持するKeyHolder
keyColumnNames
- キーが生成される列の名前- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合- 関連事項:
batchUpdate
インターフェースからコピーされた説明:NamedParameterJdbcOperations
提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のbatchUpdate
- パラメーター:
sql
- 実行する SQL ステートメントbatchArgs
- クエリの引数のバッチを含むSqlParameterSource
の配列- 戻り値:
- バッチ内の各更新によって影響を受ける行の数を含む配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります)
batchUpdate
インターフェースからコピーされた説明:NamedParameterJdbcOperations
提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のbatchUpdate
- パラメーター:
sql
- 実行する SQL ステートメントbatchValues
- クエリの引数のバッチを含むマップの配列- 戻り値:
- バッチ内の各更新によって影響を受ける行の数を含む配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります)
batchUpdate
public int[] batchUpdate(StringSE sql, SqlParameterSource[] batchArgs, KeyHolder generatedKeyHolder) インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL ステートメントと指定された引数のバッチを使用してバッチを実行し、生成されたキーを返します。この方法では、JDBC ドライバーで生成されたキーのサポートが必要です。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のbatchUpdate
- パラメーター:
sql
- 実行する SQL ステートメントbatchArgs
- クエリの引数のバッチを含むSqlParameterSource
の配列generatedKeyHolder
- 生成されたキーを保持するKeyHolder
- 戻り値:
- バッチ内の各更新によって影響を受ける行の数を含む配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります) - 関連事項:
batchUpdate
public int[] batchUpdate(StringSE sql, SqlParameterSource[] batchArgs, KeyHolder generatedKeyHolder, @Nullable StringSE[] keyColumnNames) インターフェースからコピーされた説明:NamedParameterJdbcOperations
指定された SQL ステートメントと指定された引数のバッチを使用してバッチを実行し、生成されたキーを返します。この方法では、JDBC ドライバーで生成されたキーのサポートが必要です。
- 次で指定:
- インターフェース
NamedParameterJdbcOperations
のbatchUpdate
- パラメーター:
sql
- 実行する SQL ステートメントbatchArgs
- クエリの引数のバッチを含むSqlParameterSource
の配列generatedKeyHolder
- 生成されたキーを保持するKeyHolder
keyColumnNames
- キーが生成される列の名前- 戻り値:
- バッチ内の各更新によって影響を受ける行の数を含む配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります) - 関連事項:
getPreparedStatementCreator
protected PreparedStatementCreator getPreparedStatementCreator(StringSE sql, SqlParameterSource paramSource) 指定された SQL および名前付きパラメーターに基づいてPreparedStatementCreator
を作成します。メモ: すべての
query
バリアントから直接呼び出されます。一般的なgetPreparedStatementCreator(String, SqlParameterSource, Consumer)
メソッドへのデリゲート。- パラメーター:
sql
- 実行する SQL ステートメントparamSource
- バインドする引数のコンテナー- 戻り値:
- 対応する
PreparedStatementCreator
- 関連事項:
getPreparedStatementCreator
protected PreparedStatementCreator getPreparedStatementCreator(StringSE sql, SqlParameterSource paramSource, @Nullable ConsumerSE<PreparedStatementCreatorFactory> customizer) 指定された SQL および名前付きパラメーターに基づいてPreparedStatementCreator
を作成します。メモ: 生成されたキー処理で
update
バリアントに使用され、getPreparedStatementCreator(String, SqlParameterSource)
から委譲されます。- パラメーター:
sql
- 実行する SQL ステートメントparamSource
- バインドする引数のコンテナーcustomizer
- 実際のnewPreparedStatementCreator
呼び出しの前に適用される、使用中のPreparedStatementCreatorFactory
にさらにプロパティを設定するためのコールバック- 戻り値:
- 対応する
PreparedStatementCreator
- 導入:
- 5.0.5
- 関連事項:
getParsedSql
指定された SQL ステートメントの解析された表現を取得します。デフォルトの実装では、上限が 256 エントリの LRU キャッシュが使用されます。
- パラメーター:
sql
- 元の SQL ステートメント- 戻り値:
- 解析された SQL ステートメントの表現
getPreparedStatementCreatorFactory
protected PreparedStatementCreatorFactory getPreparedStatementCreatorFactory(ParsedSql parsedSql, SqlParameterSource paramSource) 指定された SQL および名前付きパラメーターに基づいてPreparedStatementCreatorFactory
を作成します。- パラメーター:
parsedSql
- 指定された SQL ステートメントの解析された表現paramSource
- バインドする引数のコンテナー- 戻り値:
- 対応する
PreparedStatementCreatorFactory
- 導入:
- 5.1.3
- 関連事項: