クラス JdbcTemplate
- 実装されたすべてのインターフェース:
InitializingBean
,JdbcOperations
JdbcClient
を検討してください。 このクラスは JDBC の使用を簡素化し、一般的なエラーの回避に役立ちます。コアの JDBC ワークフローを実行し、SQL を提供して結果を抽出するアプリケーションコードを残します。このクラスは SQL クエリまたは更新を実行し、ResultSets 上で反復を開始し、JDBC 例外をキャッチして共通の org.springframework.dao
例外階層に変換します。
このクラスを使用するコードは、コールバックインターフェースを実装するだけでよく、明確に定義された契約を提供します。PreparedStatementCreator
コールバックインターフェースは、接続が指定された準備済みステートメントを作成し、SQL および必要なパラメーターを提供します。ResultSetExtractor
インターフェースは、ResultSet から値を抽出します。2 つの一般的な代替コールバックインターフェースについては、PreparedStatementSetter
および RowMapper
も参照してください。
このテンプレートクラスのインスタンスは、一度設定されるとスレッドセーフになります。DataSource 参照を使用した直接インスタンス化を介してサービス実装内で使用することも、アプリケーションコンテキストで準備して Bean 参照としてサービスに与えることもできます。注: DataSource は、アプリケーションコンテキストで常に Bean として構成する必要があります。最初の場合はサービスに直接指定され、2 番目の場合は準備されたテンプレートに指定されます。
このクラスは、コールバックインターフェースと SQLExceptionTranslator
インターフェースによってパラメーター化できるため、サブクラス化する必要はありません。
このクラスによって実行されるすべての SQL 操作は、ログカテゴリとして "org.springframework.jdbc.core.JdbcTemplate" を使用して、デバッグレベルでログに記録されます。
注: 6.1 では、JdbcClient
の形式で利用可能な統合 JDBC アクセスファサードがあります。JdbcClient
は、インデックス付きパラメーターまたは名前付きパラメーターを柔軟に使用して、一般的な JDBC クエリ / 更新に流れるような API スタイルを提供します。実際の実行は JdbcTemplate
/NamedParameterJdbcTemplate
に委譲されます。
- 導入:
- 2001 年 5 月 3 日
- 作成者:
- Rod Johnson, Juergen Hoeller, Thomas Risberg
- 関連事項:
フィールドのサマリー
クラス org.springframework.jdbc.support.JdbcAccessor から継承されたフィールド
logger
コンストラクターの概要
コンストラクターコンストラクター説明Bean 用の新しい JdbcTemplate を作成します。JdbcTemplate
(DataSourceSE dataSource) 接続を取得する DataSource を指定して、新しい JdbcTemplate を構築します。JdbcTemplate
(DataSourceSE dataSource, boolean lazyInit) 接続を取得する DataSource を指定して、新しい JdbcTemplate を構築します。メソッドのサマリー
修飾子と型メソッド説明protected void
指定された JDBC ステートメント(または PreparedStatement または CallableStatement)を準備し、フェッチサイズ、最大行、クエリタイムアウトなどのステートメント設定を適用します。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 および必要なパラメーターを提供します。protected ConnectionSE
指定された JDBC 接続用の密接抑制プロキシを作成します。結果マップとして使用される Map インスタンスを作成します。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 データアクセス操作を実行します。extractOutputParameters
(CallableStatementSE cs, ListSE<SqlParameter> parameters) 完了したストアドプロシージャから出力パラメーターを抽出します。extractReturnedResults
(CallableStatementSE cs, ListSE<SqlParameter> updateCountParameters, ListSE<SqlParameter> resultSetParameters, int updateCount) 完了したストアドプロシージャから返された ResultSets を抽出します。列をキーと値のペアとして読み取るための新しい RowMapper を作成します。int
この JdbcTemplate に指定されたフェッチサイズを返します。int
この JdbcTemplate に指定された行の最大数を返します。int
この JdbcTemplate が実行するステートメントのクエリタイムアウトを返します。protected <T> RowMapper<T>
getSingleColumnRowMapper
(ClassSE<T> requiredType) 単一の列から結果オブジェクトを読み取るための新しい RowMapper を作成します。protected void
handleWarnings
(SQLWarningSE warning) 実際の警告が発生した場合は、SQLWarningException
をスローします。protected void
handleWarnings
(StatementSE stmt) 指定された JDBC ステートメントに警告がある場合は、それを処理します。protected void
handleWarnings
(StatementSE stmt, SQLExceptionSE ex) 指定されたステートメントの実行からプライマリSQLException
を伝播する前に、警告を処理します。boolean
SQLWarnings を無視するかどうかを返します。boolean
CallableStatement を実行すると、パラメーターに大文字と小文字を区別しない名前を使用するマップで結果が返されるかどうかを返します。boolean
結果処理をスキップするかどうかを返します。boolean
宣言されていない結果をスキップするかどうかを返します。protected PreparedStatementSetter
渡された引数を使用して、新しい引数ベースの PreparedStatementSetter を作成します。protected PreparedStatementSetter
newArgTypePreparedStatementSetter
(ObjectSE[] args, int[] argTypes) 渡された引数と型を使用して、新しい引数型ベースの PreparedStatementSetter を作成します。ストアドプロシージャから指定された ResultSet を処理します。<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) 使用すべきではありません。<T> ListSE<T>
使用すべきではありません。<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, PreparedStatementSetter pss, ResultSetExtractor<T> rse) PreparedStatementCreator および PreparedStatementSetter を許可する準備済みステートメントを使用した照会。<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) 使用すべきではありません。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) 使用すべきではありません。<T> T
queryForObject
(StringSE sql, ObjectSE[] args, RowMapper<T> rowMapper) 使用すべきではありません。<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, PreparedStatementSetter pss, RowMapper<T> rowMapper) PreparedStatementCreator および PreparedStatementSetter を許可する準備済みステートメントを使用した照会。<T> StreamSE<T>
queryForStream
(PreparedStatementCreator psc, RowMapper<T> rowMapper) 準備済みステートメントを使用してクエリを実行し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。void
setFetchSize
(int fetchSize) この JdbcTemplate のフェッチサイズを設定します。void
setIgnoreWarnings
(boolean ignoreWarnings) JDBC ステートメントの警告 (SQLWarning
SE ) を無視するかどうかを設定します。void
setMaxRows
(int maxRows) この JdbcTemplate の最大行数を設定します。void
setQueryTimeout
(int queryTimeout) この JdbcTemplate が実行するステートメントのクエリタイムアウトを設定します。void
setResultsMapCaseInsensitive
(boolean resultsMapCaseInsensitive) CallableStatement を実行すると、パラメーターに大文字と小文字を区別しない名前を使用するマップで結果が返されるかどうかを設定します。void
setSkipResultsProcessing
(boolean skipResultsProcessing) 結果処理をスキップするかどうかを設定します。void
setSkipUndeclaredResults
(boolean skipUndeclaredResults) 宣言されていない結果をスキップするかどうかを設定します。protected DataAccessException
translateException
(StringSE task, StringSE sql, SQLExceptionSE ex) 指定されたSQLException
SE を汎用DataAccessException
に変換します。int
単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行します。int
準備されたステートメントを介して、単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、指定された引数をバインドします。int
準備されたステートメントを介して、単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、指定された引数をバインドします。int
update
(StringSE sql, PreparedStatementSetter pss) PreparedStatementSetter を使用して更新ステートメントを発行し、指定された SQL でバインドパラメーターを設定します。int
PreparedStatementCreator を使用して単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、SQL および必要なパラメーターを提供します。protected int
int
update
(PreparedStatementCreator psc, KeyHolder generatedKeyHolder) PreparedStatementCreator を使用して更新ステートメントを発行し、SQL および必要なパラメーターを提供します。クラス org.springframework.jdbc.support.JdbcAccessor から継承されたメソッド
afterPropertiesSet, getDataSource, getExceptionTranslator, isLazyInit, obtainDataSource, setDatabaseProductName, setDataSource, setExceptionTranslator, setLazyInit
コンストラクターの詳細
JdbcTemplate
public JdbcTemplate()Bean 用の新しい JdbcTemplate を作成します。メモ: インスタンスを使用する前に、DataSource を設定する必要があります。
JdbcTemplate
接続を取得する DataSource を指定して、新しい JdbcTemplate を構築します。メモ: これは、例外トランスレーターの初期化をトリガーしません。
- パラメーター:
dataSource
- 接続を取得する JDBC DataSource
JdbcTemplate
接続を取得する DataSource を指定して、新しい JdbcTemplate を構築します。メモ: "lazyInit" フラグに応じて、例外トランスレータの初期化がトリガーされます。
- パラメーター:
dataSource
- 接続を取得する JDBC DataSourcelazyInit
- SQLExceptionTranslator を遅延初期化するかどうか
メソッドの詳細
setIgnoreWarnings
public void setIgnoreWarnings(boolean ignoreWarnings) JDBC ステートメントの警告 (SQLWarning
SE ) を無視するかどうかを設定します。デフォルトは
true
で、すべての警告を飲み込んでログに記録します。このフラグをfalse
に切り替えて、この JdbcTemplate が代わりにSQLWarningException
をスローするようにします (または、チェーンがあれば、プライマリSQLException
SE にSQLWarning
SE をスローします)。isIgnoreWarnings
public boolean isIgnoreWarnings()SQLWarnings を無視するかどうかを返します。setFetchSize
public void setFetchSize(int fetchSize) この JdbcTemplate のフェッチサイズを設定します。これは大きな結果セットを処理するために重要です。これをデフォルト値よりも高く設定すると、メモリ消費を犠牲にして処理速度が向上します。この値を低く設定すると、アプリケーションによって読み取られない行データの転送を回避できます。デフォルトは -1 で、JDBC ドライバーのデフォルト設定を使用することを示します(つまり、特定のフェッチサイズ設定をドライバーに渡さないようにします)。
メモ: 4.3 以降では、たとえば MySQL が
Integer.MIN_VALUE
の特別な動作をサポートしているため、-1 以外の負の値がドライバーに渡されます。getFetchSize
public int getFetchSize()この JdbcTemplate に指定されたフェッチサイズを返します。setMaxRows
public void setMaxRows(int maxRows) この JdbcTemplate の最大行数を設定します。これは、大きな結果セットのサブセットを処理するために重要です。最初に結果全体に関心がない場合(たとえば、次のような検索を実行する場合)、データベースまたは JDBC ドライバーで結果セット全体を読み取って保持することを避けます多数の一致が返される場合があります)。デフォルトは -1 で、JDBC ドライバーのデフォルト構成を使用することを示します(つまり、特定の最大行設定をドライバーに渡さないようにします)。
注: 4.3 以降、特別な MySQL 値に対する
setFetchSize(int)
のサポートと同期して、-1 以外の負の値がドライバーに渡されます。getMaxRows
public int getMaxRows()この JdbcTemplate に指定された行の最大数を返します。setQueryTimeout
public void setQueryTimeout(int queryTimeout) この JdbcTemplate が実行するステートメントのクエリタイムアウトを設定します。デフォルトは -1 で、JDBC ドライバーのデフォルトを使用する(つまり、ドライバーで特定のクエリタイムアウト設定を渡さない)ことを示します。
メモ: ここで指定されたタイムアウトは、トランザクションレベルで指定されたタイムアウトを持つトランザクション内で実行すると、残りのトランザクションタイムアウトによってオーバーライドされます。
getQueryTimeout
public int getQueryTimeout()この JdbcTemplate が実行するステートメントのクエリタイムアウトを返します。setSkipResultsProcessing
public void setSkipResultsProcessing(boolean skipResultsProcessing) 結果処理をスキップするかどうかを設定します。結果が返されていないことがわかっている場合、呼び出し可能なステートメントの処理を最適化するために使用できます。out パラメーターの処理は引き続き行われます。これは、10.1.0.2 などの一部の古い Oracle JDBC ドライバーのバグを回避するために使用できます。isSkipResultsProcessing
public boolean isSkipResultsProcessing()結果処理をスキップするかどうかを返します。setSkipUndeclaredResults
public void setSkipUndeclaredResults(boolean skipUndeclaredResults) 宣言されていない結果をスキップするかどうかを設定します。isSkipUndeclaredResults
public boolean isSkipUndeclaredResults()宣言されていない結果をスキップするかどうかを返します。setResultsMapCaseInsensitive
public void setResultsMapCaseInsensitive(boolean resultsMapCaseInsensitive) CallableStatement を実行すると、パラメーターに大文字と小文字を区別しない名前を使用するマップで結果が返されるかどうかを設定します。isResultsMapCaseInsensitive
public boolean isResultsMapCaseInsensitive()CallableStatement を実行すると、パラメーターに大文字と小文字を区別しない名前を使用するマップで結果が返されるかどうかを返します。execute
インターフェースからコピーされた説明:JdbcOperations
JDBC 接続で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で任意のデータアクセス操作を実装できます。つまり、Spring 管理のトランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- 次で指定:
- インターフェース
JdbcOperations
のexecute
- パラメーター:
action
- アクションを指定するコールバックオブジェクト- 戻り値:
- アクションによって返された結果オブジェクト。ない場合は
null
- 例外:
DataAccessException
- 問題がある場合
createConnectionProxy
指定された JDBC 接続用の密接抑制プロキシを作成します。execute
メソッドによって呼び出されます。プロキシは、返された JDBC ステートメントも準備し、フェッチサイズ、最大行、クエリタイムアウトなどのステートメント設定を適用します。
- パラメーター:
con
- プロキシを作成する JDBC 接続- 戻り値:
- 接続プロキシ
- 関連事項:
execute
インターフェースからコピーされた説明:JdbcOperations
JDBC ステートメントで動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLExceptions を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- 次で指定:
- インターフェース
JdbcOperations
のexecute
- パラメーター:
action
- アクションを指定するコールバック- 戻り値:
- アクションによって返された結果オブジェクト。ない場合は
null
- 例外:
DataAccessException
- 問題がある場合
execute
インターフェースからコピーされた説明:JdbcOperations
単一の SQL 実行(通常は DDL ステートメント)を発行します。- 次で指定:
- インターフェース
JdbcOperations
のexecute
- パラメーター:
sql
- 実行する静的 SQL- 例外:
DataAccessException
- 問題がある場合
query
インターフェースからコピーされた説明:JdbcOperations
静的 SQL を指定してクエリを実行し、ResultSet を ResultSetExtractor で読み取ります。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたquery
メソッドを使用します。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリrse
- 結果のすべての行を抽出するコールバック- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
query
インターフェースからコピーされた説明:JdbcOperations
RowCallbackHandler を使用して行ごとに ResultSet を読み取り、静的 SQL を指定してクエリを実行します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたquery
メソッドを使用します。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリrch
- 結果を 1 行ずつ抽出するコールバック- 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
query
インターフェースからコピーされた説明:JdbcOperations
静的 SQL を指定してクエリを実行し、RowMapper を介して各行を結果オブジェクトにマッピングします。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたquery
メソッドを使用します。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForStream
public <T> StreamSE<T> queryForStream(StringSE sql, RowMapper<T> rowMapper) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
静的 SQL を指定してクエリを実行し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたquery
メソッドを使用します。- 次で指定:
- インターフェース
JdbcOperations
のqueryForStream
- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば、try-with-resources 句を通して)
- 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForMap
インターフェースからコピーされた説明:JdbcOperations
静的 SQL を指定して、結果マップのクエリを実行します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたJdbcOperations.queryForMap(String, Object...)
メソッドを使用します。クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
- 次で指定:
- インターフェース
JdbcOperations
のqueryForMap
- パラメーター:
sql
- 実行する SQL クエリ- 戻り値:
- 結果マップ (列名をキーとして、列ごとに 1 つのエントリ)
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForObject
@Nullable public <T> T queryForObject(StringSE sql, RowMapper<T> rowMapper) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
静的 SQL を指定してクエリを実行し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたJdbcOperations.queryForObject(String, RowMapper, Object...)
メソッドを使用します。- 次で指定:
- インターフェース
JdbcOperations
のqueryForObject
- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- 単一のマッピングされたオブジェクト (指定された
RowMapper
が null を返した場合、null
になることがあります) - 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForObject
@Nullable public <T> T queryForObject(StringSE sql, ClassSE<T> requiredType) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
静的 SQL を指定して、結果オブジェクトのクエリを実行します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたJdbcOperations.queryForObject(String, Class, Object...)
メソッドを使用します。このメソッドは、既知の結果で静的 SQL を実行できます。クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
- 次で指定:
- インターフェース
JdbcOperations
のqueryForObject
- パラメーター:
sql
- 実行する SQL クエリrequiredType
- 結果オブジェクトが一致すると予想される型- 戻り値:
- 必要な型の結果オブジェクト、または SQL NULL の場合は
null
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForList
インターフェースからコピーされた説明:JdbcOperations
静的 SQL を指定して、結果リストのクエリを実行します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたqueryForList
メソッドを使用します。結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
- 次で指定:
- インターフェース
JdbcOperations
のqueryForList
- パラメーター:
sql
- 実行する SQL クエリelementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)- 戻り値:
- 指定された要素型に一致するオブジェクトのリスト
- 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForList
インターフェースからコピーされた説明:JdbcOperations
静的 SQL を指定して、結果リストのクエリを実行します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたqueryForList
メソッドを使用します。結果は、マップのリスト(各行に 1 つのエントリ)にマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。リスト内の各要素は、このインターフェースの
queryForMap
メソッドによって返される形式になります。- 次で指定:
- インターフェース
JdbcOperations
のqueryForList
- パラメーター:
sql
- 実行する SQL クエリ- 戻り値:
- 行ごとにマップを含むリスト
- 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForRowSet
インターフェースからコピーされた説明:JdbcOperations
静的 SQL を指定して、SqlRowSet のクエリを実行します。PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として
null
でオーバーロードされたqueryForRowSet
メソッドを使用します。結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、実行時に JDBC RowSet サポートが使用可能である必要があることに注意してください。デフォルトでは、標準の JDBC
CachedRowSet
が使用されます。- 次で指定:
- インターフェース
JdbcOperations
のqueryForRowSet
- パラメーター:
sql
- 実行する SQL クエリ- 戻り値:
- SqlRowSet 表現 (おそらく
javax.sql.rowset.CachedRowSet
のラッパー) - 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
update
インターフェースからコピーされた説明:JdbcOperations
単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行します。- 次で指定:
- インターフェース
JdbcOperations
のupdate
- パラメーター:
sql
- 実行する静的 SQL- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 問題がある場合。
batchUpdate
インターフェースからコピーされた説明:JdbcOperations
バッチ処理を使用して、単一の JDBC ステートメントで複数の SQL 更新を発行します。JDBC ドライバーがバッチ更新をサポートしていない場合、単一のステートメントで個別の更新にフォールバックします。
- 次で指定:
- インターフェース
JdbcOperations
のbatchUpdate
- パラメーター:
sql
- 実行される SQL ステートメントの配列を定義します。- 戻り値:
- 各ステートメントの影響を受ける行数の配列
- 例外:
DataAccessException
- バッチの実行に問題がある場合
execute
@Nullable public <T> T execute(PreparedStatementCreator psc, PreparedStatementCallback<T> action) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
JDBC PreparedStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- 次で指定:
- インターフェース
JdbcOperations
のexecute
- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックaction
- アクションを指定するコールバック- 戻り値:
- アクションによって返された結果オブジェクト。ない場合は
null
- 例外:
DataAccessException
- 問題がある場合
execute
@Nullable public <T> T execute(StringSE sql, PreparedStatementCallback<T> action) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
JDBC PreparedStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- 次で指定:
- インターフェース
JdbcOperations
のexecute
- パラメーター:
sql
- 実行する SQLaction
- アクションを指定するコールバック- 戻り値:
- アクションによって返された結果オブジェクト。ない場合は
null
- 例外:
DataAccessException
- 問題がある場合
query
@Nullable public <T> T query(PreparedStatementCreator psc, @Nullable PreparedStatementSetter pss, ResultSetExtractor<T> rse) throws DataAccessException PreparedStatementCreator および PreparedStatementSetter を許可する準備済みステートメントを使用した照会。他のほとんどのクエリメソッドはこのメソッドを使用しますが、アプリケーションコードは常に作成者または setter で動作します。- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックpss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これがnull
の場合、SQL にはバインドパラメーターが含まれないと見なされます。rse
- 結果を抽出するコールバック- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- 問題がある場合
query
@Nullable public <T> T query(PreparedStatementCreator psc, ResultSetExtractor<T> rse) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
ResultSet を ResultSetExtractor で読み取り、準備済みステートメントを使用して照会します。PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックrse
- 結果を抽出するコールバック- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- 問題がある場合- 関連事項:
query
@Nullable public <T> T query(StringSE sql, @Nullable PreparedStatementSetter pss, ResultSetExtractor<T> rse) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
ResultSet を ResultSetExtractor で読み取り、準備済みステートメントを使用して照会します。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリpss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これがnull
の場合、SQL にはバインドパラメーターが含まれないと見なされます。バインドパラメーターがない場合でも、このコールバックを使用してフェッチサイズやその他のパフォーマンスオプションを設定できます。rse
- 結果を抽出するコールバック- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- 問題がある場合
query
@Nullable public <T> T query(StringSE sql, ObjectSE[] args, int[] argTypes, ResultSetExtractor<T> rse) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)rse
- 結果を抽出するコールバック- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
query
@DeprecatedSE @Nullable public <T> T query(StringSE sql, @Nullable ObjectSE[] args, ResultSetExtractor<T> rse) throws DataAccessException 使用すべきではありません。インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。rse
- 結果を抽出するコールバック- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- クエリが失敗した場合
query
@Nullable public <T> T query(StringSE sql, ResultSetExtractor<T> rse, @Nullable ObjectSE... args) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリrse
- 結果を抽出するコールバックargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- ResultSetExtractor によって返される任意の結果オブジェクト
- 例外:
DataAccessException
- クエリが失敗した場合
query
インターフェースからコピーされた説明:JdbcOperations
RowCallbackHandler で行ごとに ResultSet を読み取り、準備されたステートメントを使用して照会します。PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックrch
- 結果を 1 行ずつ抽出するコールバック- 例外:
DataAccessException
- 問題がある場合- 関連事項:
query
public void query(StringSE sql, @Nullable PreparedStatementSetter pss, RowCallbackHandler rch) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL を照会して、SQL から準備済みステートメントを作成し、値を照会にバインドする方法を知っている PreparedStatementSetter 実装を作成し、RowCallbackHandler で行ごとに ResultSet を読み取ります。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリpss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これがnull
の場合、SQL にはバインドパラメーターが含まれないと見なされます。バインドパラメーターがない場合でも、このコールバックを使用してフェッチサイズやその他のパフォーマンスオプションを設定できます。rch
- 結果を 1 行ずつ抽出するコールバック- 例外:
DataAccessException
- クエリが失敗した場合
query
public void query(StringSE sql, ObjectSE[] args, int[] argTypes, RowCallbackHandler rch) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)rch
- 結果を 1 行ずつ抽出するコールバック- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
query
@DeprecatedSE public void query(StringSE sql, @Nullable ObjectSE[] args, RowCallbackHandler rch) throws DataAccessException 使用すべきではありません。インターフェースからコピーされた説明:JdbcOperations
指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。rch
- 結果を 1 行ずつ抽出するコールバック- 例外:
DataAccessException
- クエリが失敗した場合
query
public void query(StringSE sql, RowCallbackHandler rch, @Nullable ObjectSE... args) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリrch
- 結果を 1 行ずつ抽出するコールバックargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 例外:
DataAccessException
- クエリが失敗した場合
query
public <T> ListSE<T> query(PreparedStatementCreator psc, RowMapper<T> rowMapper) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
準備済みステートメントを使用して照会し、RowMapper を介して各行を結果オブジェクトにマッピングします。PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- 問題がある場合- 関連事項:
query
public <T> ListSE<T> query(StringSE sql, @Nullable PreparedStatementSetter pss, RowMapper<T> rowMapper) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
与えられた SQL をクエリして、SQL から準備されたステートメントを作成し、RowMapper を介して各行を結果オブジェクトにマッピングして、クエリに値をバインドする方法を知っている PreparedStatementSetter 実装を作成します。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリpss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これがnull
の場合、SQL にはバインドパラメーターが含まれないと見なされます。バインドパラメーターがない場合でも、このコールバックを使用してフェッチサイズやその他のパフォーマンスオプションを設定できます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリが失敗した場合
query
public <T> ListSE<T> query(StringSE sql, ObjectSE[] args, int[] argTypes, RowMapper<T> rowMapper) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を結果オブジェクトにマッピングします。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
query
@DeprecatedSE public <T> ListSE<T> query(StringSE sql, @Nullable ObjectSE[] args, RowMapper<T> rowMapper) throws DataAccessException 使用すべきではありません。インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を結果オブジェクトにマッピングします。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリが失敗した場合
query
public <T> ListSE<T> query(StringSE sql, RowMapper<T> rowMapper, @Nullable ObjectSE... args) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を結果オブジェクトにマッピングします。- 次で指定:
- インターフェース
JdbcOperations
のquery
- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバックargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- マッピングされたオブジェクトを含む結果リスト
- 例外:
DataAccessException
- クエリが失敗した場合
queryForStream
public <T> StreamSE<T> queryForStream(PreparedStatementCreator psc, @Nullable PreparedStatementSetter pss, RowMapper<T> rowMapper) throws DataAccessException PreparedStatementCreator および PreparedStatementSetter を許可する準備済みステートメントを使用した照会。他のほとんどのクエリメソッドはこのメソッドを使用しますが、アプリケーションコードは常に作成者または setter で動作します。- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックpss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これがnull
の場合、SQL にはバインドパラメーターが含まれないと見なされます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば、try-with-resources 句を通して)
- 例外:
DataAccessException
- クエリが失敗した場合- 導入:
- 5.3
queryForStream
public <T> StreamSE<T> queryForStream(PreparedStatementCreator psc, RowMapper<T> rowMapper) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
準備済みステートメントを使用してクエリを実行し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
- 次で指定:
- インターフェース
JdbcOperations
のqueryForStream
- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば、try-with-resources 句を通して)
- 例外:
DataAccessException
- 問題がある場合- 関連事項:
queryForStream
public <T> StreamSE<T> queryForStream(StringSE sql, @Nullable PreparedStatementSetter pss, RowMapper<T> rowMapper) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリして、SQL とクエリに値をバインドする方法を知っている PreparedStatementSetter 実装から準備済みステートメントを作成し、各行を RowMapper を介して結果オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。- 次で指定:
- インターフェース
JdbcOperations
のqueryForStream
- パラメーター:
sql
- 実行する SQL クエリpss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これがnull
の場合、SQL にはバインドパラメーターが含まれないと見なされます。バインドパラメーターがない場合でも、このコールバックを使用してフェッチサイズやその他のパフォーマンスオプションを設定できます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば、try-with-resources 句を通して)
- 例外:
DataAccessException
- クエリが失敗した場合
queryForStream
public <T> StreamSE<T> queryForStream(StringSE sql, RowMapper<T> rowMapper, @Nullable ObjectSE... args) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。- 次で指定:
- インターフェース
JdbcOperations
のqueryForStream
- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバックargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば、try-with-resources 句を通して)
- 例外:
DataAccessException
- クエリが失敗した場合
queryForObject
@Nullable public <T> T queryForObject(StringSE sql, ObjectSE[] args, int[] argTypes, RowMapper<T> rowMapper) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。- 次で指定:
- インターフェース
JdbcOperations
のqueryForObject
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数 (対応する SQL 型を推測するために PreparedStatement に任せる)argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- 単一のマッピングされたオブジェクト (指定された
RowMapper
が null を返した場合、null
になることがあります) - 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合
queryForObject
@DeprecatedSE @Nullable public <T> T queryForObject(StringSE sql, @Nullable ObjectSE[] args, RowMapper<T> rowMapper) throws DataAccessException 使用すべきではありません。インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。- 次で指定:
- インターフェース
JdbcOperations
のqueryForObject
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック- 戻り値:
- 単一のマッピングされたオブジェクト (指定された
RowMapper
が null を返した場合、null
になることがあります) - 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合
queryForObject
@Nullable public <T> T queryForObject(StringSE sql, RowMapper<T> rowMapper, @Nullable ObjectSE... args) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。- 次で指定:
- インターフェース
JdbcOperations
のqueryForObject
- パラメーター:
sql
- 実行する SQL クエリrowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバックargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- 単一のマッピングされたオブジェクト (指定された
RowMapper
が null を返した場合、null
になることがあります) - 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合
queryForObject
@Nullable public <T> T queryForObject(StringSE sql, ObjectSE[] args, int[] argTypes, ClassSE<T> requiredType) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
- 次で指定:
- インターフェース
JdbcOperations
のqueryForObject
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)requiredType
- 結果オブジェクトが一致すると予想される型- 戻り値:
- 必要な型の結果オブジェクト、または SQL NULL の場合は
null
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForObject
@DeprecatedSE @Nullable public <T> T queryForObject(StringSE sql, @Nullable ObjectSE[] args, ClassSE<T> requiredType) throws DataAccessException 使用すべきではありません。インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
- 次で指定:
- インターフェース
JdbcOperations
のqueryForObject
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。requiredType
- 結果オブジェクトが一致すると予想される型- 戻り値:
- 必要な型の結果オブジェクト、または SQL NULL の場合は
null
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForObject
@Nullable public <T> T queryForObject(StringSE sql, ClassSE<T> requiredType, @Nullable ObjectSE... args) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
- 次で指定:
- インターフェース
JdbcOperations
のqueryForObject
- パラメーター:
sql
- 実行する SQL クエリrequiredType
- 結果オブジェクトが一致すると予想される型args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- 必要な型の結果オブジェクト、または SQL NULL の場合は
null
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForMap
public MapSE<StringSE,ObjectSE> queryForMap(StringSE sql, ObjectSE[] args, int[] argTypes) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
- 次で指定:
- インターフェース
JdbcOperations
のqueryForMap
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)- 戻り値:
- 結果マップ (列名をキーとして、列ごとに 1 つのエントリ)
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForMap
public MapSE<StringSE,ObjectSE> queryForMap(StringSE sql, @Nullable ObjectSE... args) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。このインターフェースで定義されている
queryForMap
メソッドは、ドメインモデルがない場合に適しています。それ以外の場合は、queryForObject
メソッドのいずれかを使用することを検討してください。クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
- 次で指定:
- インターフェース
JdbcOperations
のqueryForMap
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- 結果マップ (列名をキーとして使用して、列ごとに 1 つのエントリ)
- 例外:
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
public <T> ListSE<T> queryForList(StringSE sql, ObjectSE[] args, int[] argTypes, ClassSE<T> elementType) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
- 次で指定:
- インターフェース
JdbcOperations
のqueryForList
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)elementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)- 戻り値:
- 指定された要素型に一致するオブジェクトのリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
@DeprecatedSE public <T> ListSE<T> queryForList(StringSE sql, @Nullable ObjectSE[] args, ClassSE<T> elementType) throws DataAccessException 使用すべきではありません。インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
- 次で指定:
- インターフェース
JdbcOperations
のqueryForList
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。elementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)- 戻り値:
- 指定された要素型に一致するオブジェクトのリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
public <T> ListSE<T> queryForList(StringSE sql, ClassSE<T> elementType, @Nullable ObjectSE... args) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
- 次で指定:
- インターフェース
JdbcOperations
のqueryForList
- パラメーター:
sql
- 実行する SQL クエリelementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- 指定された要素型に一致するオブジェクトのリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
public ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql, ObjectSE[] args, int[] argTypes) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、マップのリスト(行ごとに 1 つのエントリ)にマップされます(列名をキーとして使用して、列ごとに 1 つのエントリ)。リスト内の各要素は、このインターフェースの
queryForMap
メソッドによって返される形式になります。- 次で指定:
- インターフェース
JdbcOperations
のqueryForList
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)- 戻り値:
- 行ごとにマップを含むリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForList
public ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql, @Nullable ObjectSE... args) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。結果は、マップのリスト(行ごとに 1 つのエントリ)にマップされます(列名をキーとして使用して、列ごとに 1 つのエントリ)。リスト内の各要素は、このインターフェースの
queryForMap
メソッドによって返される形式になります。- 次で指定:
- インターフェース
JdbcOperations
のqueryForList
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- 行ごとにマップを含むリスト
- 例外:
DataAccessException
- クエリが失敗した場合- 関連事項:
queryForRowSet
public SqlRowSet queryForRowSet(StringSE sql, ObjectSE[] args, int[] argTypes) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、実行時に JDBC RowSet サポートが使用可能である必要があることに注意してください。デフォルトでは、標準の JDBC
CachedRowSet
が使用されます。- 次で指定:
- インターフェース
JdbcOperations
のqueryForRowSet
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)- 戻り値:
- SqlRowSet 表現 (おそらく
javax.sql.rowset.CachedRowSet
のラッパー) - 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
queryForRowSet
public SqlRowSet queryForRowSet(StringSE sql, @Nullable ObjectSE... args) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、実行時に JDBC RowSet サポートが使用可能である必要があることに注意してください。デフォルトでは、標準の JDBC
CachedRowSet
が使用されます。- 次で指定:
- インターフェース
JdbcOperations
のqueryForRowSet
- パラメーター:
sql
- 実行する SQL クエリargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- SqlRowSet 表現 (おそらく
javax.sql.rowset.CachedRowSet
のラッパー) - 例外:
DataAccessException
- クエリの実行に問題がある場合- 関連事項:
update
protected int update(PreparedStatementCreator psc, @Nullable PreparedStatementSetter pss) throws DataAccessException update
インターフェースからコピーされた説明:JdbcOperations
PreparedStatementCreator を使用して単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、SQL および必要なパラメーターを提供します。PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
- 次で指定:
- インターフェース
JdbcOperations
のupdate
- パラメーター:
psc
- SQL および必要なパラメーターを提供するコールバック- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合- 関連事項:
update
public int update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
PreparedStatementCreator を使用して更新ステートメントを発行し、SQL および必要なパラメーターを提供します。生成されたキーは、指定された KeyHolder に配置されます。指定された PreparedStatementCreator は、生成されたキーの抽出をアクティブ化するステートメントを作成する必要があることに注意してください(JDBC 3.0 機能)。これは、直接または PreparedStatementCreatorFactory を使用して行うことができます。
この方法では、JDBC ドライバーで生成されたキーのサポートが必要です。
- 次で指定:
- インターフェース
JdbcOperations
のupdate
- パラメーター:
psc
- SQL および必要なパラメーターを提供するコールバックgeneratedKeyHolder
- 生成されたキーを保持する KeyHolder- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合- 関連事項:
update
インターフェースからコピーされた説明:JdbcOperations
PreparedStatementSetter を使用して更新ステートメントを発行し、指定された SQL でバインドパラメーターを設定します。この方法は PreparedStatement を作成するため、PreparedStatementCreator を使用するよりも簡単です。PreparedStatementSetter はパラメーターを設定するだけです。- 次で指定:
- インターフェース
JdbcOperations
のupdate
- パラメーター:
sql
- バインドパラメーターを含む SQLpss
- バインドパラメーターを設定するヘルパー。これがnull
の場合、静的 SQL で更新を実行します。- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合
update
インターフェースからコピーされた説明:JdbcOperations
準備されたステートメントを介して、単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、指定された引数をバインドします。- 次で指定:
- インターフェース
JdbcOperations
のupdate
- パラメーター:
sql
- バインドパラメーターを含む SQLargs
- クエリにバインドする引数argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合- 関連事項:
update
インターフェースからコピーされた説明:JdbcOperations
準備されたステートメントを介して、単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、指定された引数をバインドします。- 次で指定:
- インターフェース
JdbcOperations
のupdate
- パラメーター:
sql
- バインドパラメーターを含む SQLargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValue
オブジェクトを含めることもできます。- 戻り値:
- 影響を受ける行の数
- 例外:
DataAccessException
- 更新の発行に問題がある場合
batchUpdate
public int[] batchUpdate(PreparedStatementCreator psc, BatchPreparedStatementSetter pss, KeyHolder generatedKeyHolder) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
バッチ更新と BatchPreparedStatementSetter を使用して値を設定し、単一の PreparedStatement で複数の更新ステートメントを発行します。生成されたキーは、指定された KeyHolder に配置されます。指定された PreparedStatementCreator は、生成されたキーの抽出をアクティブ化するステートメントを作成する必要があることに注意してください(JDBC 3.0 機能)。これは、直接または PreparedStatementCreatorFactory を使用して行うことができます。
この方法では、JDBC ドライバーで生成されたキーのサポートが必要です。JDBC ドライバーがバッチ更新をサポートしていない場合は、単一の PreparedStatement での個別の更新にフォールバックします。
- 次で指定:
- インターフェース
JdbcOperations
のbatchUpdate
- パラメーター:
psc
- 接続を指定して PreparedStatement を作成するコールバックpss
- このメソッドによって作成された PreparedStatement にパラメーターを設定するオブジェクトgeneratedKeyHolder
- 生成されたキーを保持する KeyHolder- 戻り値:
- 各ステートメントの影響を受ける行数の配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります) - 例外:
DataAccessException
- 更新の発行に問題がある場合- 関連事項:
batchUpdate
インターフェースからコピーされた説明:JdbcOperations
単一の PreparedStatement で複数の更新ステートメントを発行し、バッチ更新と BatchPreparedStatementSetter を使用して値を設定します。JDBC ドライバーがバッチ更新をサポートしていない場合、単一の PreparedStatement で個別の更新にフォールバックします。
- 次で指定:
- インターフェース
JdbcOperations
のbatchUpdate
- パラメーター:
sql
- 再利用される PreparedStatement を定義します。バッチ内のすべてのステートメントは同じ SQL を使用します。pss
- このメソッドによって作成された PreparedStatement にパラメーターを設定するオブジェクト- 戻り値:
- 各ステートメントの影響を受ける行数の配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります) - 例外:
DataAccessException
- 更新の発行に問題がある場合
batchUpdate
インターフェースからコピーされた説明:JdbcOperations
提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。- 次で指定:
- インターフェース
JdbcOperations
のbatchUpdate
- パラメーター:
sql
- 実行する SQL ステートメントbatchArgs
- クエリの引数のバッチを含むオブジェクト配列のリスト- 戻り値:
- バッチ内の各更新によって影響を受ける行の数を含む配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります) - 例外:
DataAccessException
- 更新の発行に問題がある場合
batchUpdate
public int[] batchUpdate(StringSE sql, ListSE<ObjectSE[]> batchArgs, int[] argTypes) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。- 次で指定:
- インターフェース
JdbcOperations
のbatchUpdate
- パラメーター:
sql
- 実行する SQL ステートメント。batchArgs
- クエリの引数のバッチを含むオブジェクト配列のリストargTypes
- 引数の SQL 型 (java.sql.Types
からの定数)- 戻り値:
- バッチ内の各更新によって影響を受ける行の数を含む配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります) - 例外:
DataAccessException
- 更新の発行に問題がある場合
batchUpdate
public <T> int[][] batchUpdate(StringSE sql, CollectionSE<T> batchArgs, int batchSize, ParameterizedPreparedStatementSetter<T> pss) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
指定された一連の引数を含む指定された SQL ステートメントを使用して、複数のバッチを実行します。引数の値は ParameterizedPreparedStatementSetter を使用して設定されます。各バッチのサイズは 'batchSize' で示されるサイズである必要があります。- 次で指定:
- インターフェース
JdbcOperations
のbatchUpdate
- パラメーター:
sql
- 実行する SQL ステートメント。batchArgs
- クエリの引数のバッチを含むオブジェクト配列のリストbatchSize
- バッチサイズpss
- 使用する ParameterizedPreparedStatementSetter- 戻り値:
- バッチごとに、バッチ内の各更新によって影響を受ける行の数を含む別の配列を含む配列 (
Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります) - 例外:
DataAccessException
- 更新の発行に問題がある場合
execute
@Nullable public <T> T execute(CallableStatementCreator csc, CallableStatementCallback<T> action) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
JDBC CallableStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- 次で指定:
- インターフェース
JdbcOperations
のexecute
- パラメーター:
csc
- 接続を指定して CallableStatement を作成するコールバックaction
- アクションを指定するコールバック- 戻り値:
- アクションによって返された結果オブジェクト。ない場合は
null
- 例外:
DataAccessException
- 問題がある場合
execute
@Nullable public <T> T execute(StringSE callString, CallableStatementCallback<T> action) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
JDBC CallableStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
- 次で指定:
- インターフェース
JdbcOperations
のexecute
- パラメーター:
callString
- 実行する SQL 呼び出し文字列action
- アクションを指定するコールバック- 戻り値:
- アクションによって返された結果オブジェクト。ない場合は
null
- 例外:
DataAccessException
- 問題がある場合
call
public MapSE<StringSE,ObjectSE> call(CallableStatementCreator csc, ListSE<SqlParameter> declaredParameters) throws DataAccessException インターフェースからコピーされた説明:JdbcOperations
CallableStatementCreator を使用して SQL 呼び出しを実行し、SQL および必要なパラメーターを提供します。- 次で指定:
- インターフェース
JdbcOperations
のcall
- パラメーター:
csc
- SQL および必要なパラメーターを提供するコールバックdeclaredParameters
- 宣言された SqlParameter オブジェクトのリスト- 戻り値:
- 抽出されたパラメーターのマップ
- 例外:
DataAccessException
- 更新の発行に問題がある場合
extractReturnedResults
protected MapSE<StringSE,ObjectSE> extractReturnedResults(CallableStatementSE cs, @Nullable ListSE<SqlParameter> updateCountParameters, @Nullable ListSE<SqlParameter> resultSetParameters, int updateCount) throws SQLExceptionSE 完了したストアドプロシージャから返された ResultSets を抽出します。- パラメーター:
cs
- ストアドプロシージャの JDBC ラッパーupdateCountParameters
- ストアドプロシージャの宣言された更新カウントパラメーターのパラメーターリストresultSetParameters
- ストアドプロシージャの宣言された resultSet パラメーターのパラメーターリスト- 戻り値:
- 返された結果を含むマップ
- 例外:
SQLExceptionSE
extractOutputParameters
protected MapSE<StringSE,ObjectSE> extractOutputParameters(CallableStatementSE cs, ListSE<SqlParameter> parameters) throws SQLExceptionSE 完了したストアドプロシージャから出力パラメーターを抽出します。- パラメーター:
cs
- ストアドプロシージャの JDBC ラッパーparameters
- ストアドプロシージャのパラメーターリスト- 戻り値:
- 返された結果を含むマップ
- 例外:
SQLExceptionSE
processResultSet
protected MapSE<StringSE,ObjectSE> processResultSet(@Nullable ResultSetSE rs, ResultSetSupportingSqlParameter param) throws SQLExceptionSE ストアドプロシージャから指定された ResultSet を処理します。- パラメーター:
rs
- 処理する ResultSetparam
- 対応するストアドプロシージャパラメーター- 戻り値:
- 返された結果を含むマップ
- 例外:
SQLExceptionSE
getColumnMapRowMapper
列をキーと値のペアとして読み取るための新しい RowMapper を作成します。- 戻り値:
- 使用する RowMapper
- 関連事項:
getSingleColumnRowMapper
単一の列から結果オブジェクトを読み取るための新しい RowMapper を作成します。- パラメーター:
requiredType
- 各結果オブジェクトが一致すると予想される型- 戻り値:
- 使用する RowMapper
- 関連事項:
createResultsMap
結果マップとして使用される Map インスタンスを作成します。resultsMapCaseInsensitive
が true に設定されている場合、LinkedCaseInsensitiveMap
が作成されます。それ以外の場合は、LinkedHashMap
SE が作成されます。- 戻り値:
- 結果の Map インスタンス
- 関連事項:
applyStatementSettings
指定された JDBC ステートメント(または PreparedStatement または CallableStatement)を準備し、フェッチサイズ、最大行、クエリタイムアウトなどのステートメント設定を適用します。- パラメーター:
stmt
- 準備する JDBC ステートメント- 例外:
SQLExceptionSE
- JDBC API によってスローされた場合- 関連事項:
newArgPreparedStatementSetter
渡された引数を使用して、新しい引数ベースの PreparedStatementSetter を作成します。デフォルトでは、
ArgumentPreparedStatementSetter
を作成します。このメソッドを使用すると、作成をサブクラスでオーバーライドできます。- パラメーター:
args
- 引数を持つオブジェクト配列- 戻り値:
- 使用する新しい PreparedStatementSetter
newArgTypePreparedStatementSetter
protected PreparedStatementSetter newArgTypePreparedStatementSetter(ObjectSE[] args, int[] argTypes) 渡された引数と型を使用して、新しい引数型ベースの PreparedStatementSetter を作成します。デフォルトでは、
ArgumentTypePreparedStatementSetter
を作成します。このメソッドを使用すると、作成をサブクラスでオーバーライドできます。- パラメーター:
args
- 引数を持つオブジェクト配列argTypes
- 関連する引数の SQLType の int 配列- 戻り値:
- 使用する新しい PreparedStatementSetter
handleWarnings
指定されたステートメントの実行からプライマリSQLException
を伝播する前に、警告を処理します。通常の
handleWarnings(Statement)
を呼び出しますが、代わりにSQLWarning
SE を主例外に チェーンするためにSQLWarningException
をキャッチします。- パラメーター:
stmt
- 現在の JDBC ステートメントex
- ステートメントの実行が失敗した後の主な例外- 導入:
- 5.3.29
- 関連事項:
handleWarnings
指定された JDBC ステートメントに警告がある場合は、それを処理します。警告を無視していない場合は
SQLWarningException
をスローし、そうでない場合はデバッグレベルで警告をログに記録します。- パラメーター:
stmt
- 現在の JDBC ステートメント- 例外:
SQLExceptionSE
- 警告の取得に失敗した場合SQLWarningException
- 具体的な警告を発するために (警告を無視しない場合)- 関連事項:
handleWarnings
実際の警告が発生した場合は、SQLWarningException
をスローします。- パラメーター:
warning
- 現在のステートメントの警告オブジェクト。null
の場合があります。その場合、このメソッドは何も実行しません。- 例外:
SQLWarningException
- 発生する実際の警告の場合
translateException
protected DataAccessException translateException(StringSE task, @Nullable StringSE sql, SQLExceptionSE ex) 指定されたSQLException
SE を汎用DataAccessException
に変換します。- パラメーター:
task
- 試行されているタスクを説明する読み取り可能なテキストsql
- 問題を引き起こした SQL クエリまたは更新 (null
の場合があります)ex
- 問題のあるSQLException
- 戻り値:
SQLException
をラップする DataAccessException (非null
)- 導入:
- 5.0
- 関連事項: