public class JdbcTemplate extends JdbcAccessor implements JdbcOperations
org.springframework.dao
パッケージで定義されたより有益な汎用例外階層に変換します。 このクラスを使用するコードは、コールバックインターフェースを実装するだけでよく、明確に定義された契約を提供します。PreparedStatementCreator
コールバックインターフェースは、接続が指定された準備済みステートメントを作成し、SQL および必要なパラメーターを提供します。ResultSetExtractor
インターフェースは、ResultSet から値を抽出します。2 つの一般的な代替コールバックインターフェースについては、PreparedStatementSetter
および RowMapper
も参照してください。
DataSource 参照を使用した直接インスタンス化を介してサービス実装内で使用するか、アプリケーションコンテキストで準備し、Bean 参照としてサービスに提供できます。注: DataSource は、アプリケーションコンテキストで常に Bean として構成する必要があります。最初の場合はサービスに直接、2 番目の場合は準備済みテンプレートに設定します。
このクラスは、コールバックインターフェースと SQLExceptionTranslator
インターフェースによってパラメーター化できるため、サブクラス化する必要はありません。
このクラスによって実行されるすべての SQL 操作は、ログカテゴリとして "org.springframework.jdbc.core.JdbcTemplate" を使用して、デバッグレベルでログに記録されます。
NOTE: このクラスのインスタンスは、構成後はスレッドセーフです。
PreparedStatementCreator
, PreparedStatementSetter
, CallableStatementCreator
, PreparedStatementCallback
, CallableStatementCallback
, ResultSetExtractor
, RowCallbackHandler
, RowMapper
, SQLExceptionTranslator
logger
コンストラクターと説明 |
---|
JdbcTemplate() Bean 用の新しい JdbcTemplate を作成します。 |
JdbcTemplate(DataSourceSE dataSource) 接続を取得する DataSource を指定して、新しい JdbcTemplate を構築します。 |
JdbcTemplate(DataSourceSE dataSource, boolean lazyInit) 接続を取得する DataSource を指定して、新しい JdbcTemplate を構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected void | applyStatementSettings(StatementSE stmt) 指定された JDBC ステートメント(または PreparedStatement または CallableStatement)を準備し、フェッチサイズ、最大行、クエリタイムアウトなどのステートメント設定を適用します。 |
int[] | batchUpdate(StringSE... sql) バッチ処理を使用して、単一の JDBC ステートメントで複数の SQL 更新を発行します。 |
int[] | batchUpdate(StringSE sql, BatchPreparedStatementSetter pss) 単一の PreparedStatement で複数の更新ステートメントを発行し、バッチ更新と BatchPreparedStatementSetter を使用して値を設定します。 |
<T> int[][] | batchUpdate(StringSE sql, CollectionSE<T> batchArgs, int batchSize, ParameterizedPreparedStatementSetter<T> pss) 提供された引数を収集して提供された SQL ステートメントを使用して、複数のバッチを実行します。 |
int[] | batchUpdate(StringSE sql, ListSE<ObjectSE[]> batchArgs) 提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。 |
int[] | batchUpdate(StringSE sql, ListSE<ObjectSE[]> batchArgs, int[] argTypes) 提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。 |
MapSE<StringSE, ObjectSE> | call(CallableStatementCreator csc, ListSE<SqlParameter> declaredParameters) CallableStatementCreator を使用して SQL 呼び出しを実行し、SQL および必要なパラメーターを提供します。 |
protected ConnectionSE | createConnectionProxy(ConnectionSE con) 指定された JDBC 接続用の密接抑制プロキシを作成します。 |
protected MapSE<StringSE, ObjectSE> | createResultsMap() 結果マップとして使用される Map インスタンスを作成します。 |
<T> T | execute(CallableStatementCreator csc, CallableStatementCallback<T> action) JDBC CallableStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。 |
<T> T | execute(ConnectionCallback<T> action) JDBC 接続で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。 |
<T> T | execute(PreparedStatementCreator psc, PreparedStatementCallback<T> action) JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。 |
<T> T | execute(StatementCallback<T> action) JDBC ステートメントで動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。 |
void | execute(StringSE sql) 単一の SQL 実行(通常は DDL ステートメント)を発行します。 |
<T> T | execute(StringSE callString, CallableStatementCallback<T> action) JDBC CallableStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。 |
<T> T | execute(StringSE sql, PreparedStatementCallback<T> action) JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。 |
protected MapSE<StringSE, ObjectSE> | extractOutputParameters(CallableStatementSE cs, ListSE<SqlParameter> parameters) 完了したストアドプロシージャから出力パラメーターを抽出します。 |
protected MapSE<StringSE, ObjectSE> | extractReturnedResults(CallableStatementSE cs, ListSE<SqlParameter> updateCountParameters, ListSE<SqlParameter> resultSetParameters, int updateCount) 完了したストアドプロシージャから返された ResultSets を抽出します。 |
protected RowMapper<MapSE<StringSE, ObjectSE>> | getColumnMapRowMapper() 列をキーと値のペアとして読み取るための新しい RowMapper を作成します。 |
int | getFetchSize() この JdbcTemplate に指定されたフェッチサイズを返します。 |
int | getMaxRows() この JdbcTemplate に指定された行の最大数を返します。 |
int | getQueryTimeout() この JdbcTemplate が実行するステートメントのクエリタイムアウトを返します。 |
protected <T> RowMapper<T> | getSingleColumnRowMapper(ClassSE<T> requiredType) 単一の列から結果オブジェクトを読み取るための新しい RowMapper を作成します。 |
protected void | handleWarnings(SQLWarningSE warning) 実際の警告が発生した場合、SQLWarningException をスローします。 |
protected void | handleWarnings(StatementSE stmt) 警告を無視しない場合は SQLWarningException をスローし、そうでない場合はデバッグレベルで警告をログに記録します。 |
boolean | isIgnoreWarnings() SQLWarnings を無視するかどうかを返します。 |
boolean | isResultsMapCaseInsensitive() CallableStatement を実行すると、大文字と小文字を区別しないパラメーター名を使用するマップで結果が返されるかどうかを返します。 |
boolean | isSkipResultsProcessing() 結果処理をスキップするかどうかを返します。 |
boolean | isSkipUndeclaredResults() 宣言されていない結果をスキップするかどうかを返します。 |
protected PreparedStatementSetter | newArgPreparedStatementSetter(ObjectSE[] args) 渡された引数を使用して、新しい引数ベースの PreparedStatementSetter を作成します。 |
protected PreparedStatementSetter | newArgTypePreparedStatementSetter(ObjectSE[] args, int[] argTypes) 渡された引数と型を使用して、新しい引数型ベースの PreparedStatementSetter を作成します。 |
protected MapSE<StringSE, ObjectSE> | processResultSet(ResultSetSE rs, ResultSetSupportingSqlParameter param) ストアドプロシージャから指定された ResultSet を処理します。 |
<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 を介して各行を結果オブジェクトにマッピングします。 |
<T> T | query(StringSE sql, ObjectSE[] args, int[] argTypes, ResultSetExtractor<T> rse) 指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。 |
void | query(StringSE sql, ObjectSE[] args, int[] argTypes, RowCallbackHandler rch) 指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。 |
<T> ListSE<T> | query(StringSE sql, ObjectSE[] args, int[] argTypes, RowMapper<T> rowMapper) 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を結果オブジェクトにマッピングします。 |
<T> T | query(StringSE sql, ObjectSE[] args, ResultSetExtractor<T> rse) 使用すべきではありません。 |
void | query(StringSE sql, ObjectSE[] args, RowCallbackHandler rch) 使用すべきではありません。 |
<T> ListSE<T> | query(StringSE sql, ObjectSE[] args, RowMapper<T> rowMapper) 使用すべきではありません。 |
<T> T | query(StringSE sql, PreparedStatementSetter pss, ResultSetExtractor<T> rse) ResultSet を ResultSetExtractor で読み取り、準備済みステートメントを使用して照会します。 |
void | query(StringSE sql, PreparedStatementSetter pss, RowCallbackHandler rch) 指定された SQL を照会して、SQL から準備済みステートメントを作成し、値を照会にバインドする方法を知っている PreparedStatementSetter 実装を作成し、RowCallbackHandler で行ごとに ResultSet を読み取ります。 |
<T> ListSE<T> | query(StringSE sql, PreparedStatementSetter pss, RowMapper<T> rowMapper) 与えられた SQL をクエリして、SQL から準備されたステートメントを作成し、RowMapper を介して各行を結果オブジェクトにマッピングして、クエリに値をバインドする方法を知っている PreparedStatementSetter 実装を作成します。 |
<T> T | query(StringSE sql, ResultSetExtractor<T> rse) 静的 SQL を指定してクエリを実行し、ResultSet を ResultSetExtractor で読み取ります。 |
<T> T | query(StringSE sql, ResultSetExtractor<T> rse, ObjectSE... args) 指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。 |
void | query(StringSE sql, RowCallbackHandler rch) RowCallbackHandler を使用して行ごとに ResultSet を読み取り、静的 SQL を指定してクエリを実行します。 |
void | query(StringSE sql, RowCallbackHandler rch, ObjectSE... args) 指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。 |
<T> ListSE<T> | query(StringSE sql, RowMapper<T> rowMapper) 静的 SQL を指定してクエリを実行し、RowMapper を介して各行を結果オブジェクトにマッピングします。 |
<T> ListSE<T> | query(StringSE sql, RowMapper<T> rowMapper, ObjectSE... args) 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を結果オブジェクトにマッピングします。 |
ListSE<MapSE<StringSE, ObjectSE>> | queryForList(StringSE sql) 静的 SQL を指定して、結果リストのクエリを実行します。 |
<T> ListSE<T> | queryForList(StringSE sql, ClassSE<T> elementType) 静的 SQL を指定して、結果リストのクエリを実行します。 |
<T> ListSE<T> | queryForList(StringSE sql, ClassSE<T> elementType, ObjectSE... args) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。 |
ListSE<MapSE<StringSE, ObjectSE>> | queryForList(StringSE sql, ObjectSE... args) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。 |
<T> ListSE<T> | queryForList(StringSE sql, ObjectSE[] args, ClassSE<T> elementType) 使用すべきではありません。 |
ListSE<MapSE<StringSE, ObjectSE>> | queryForList(StringSE sql, ObjectSE[] args, int[] argTypes) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。 |
<T> ListSE<T> | queryForList(StringSE sql, ObjectSE[] args, int[] argTypes, ClassSE<T> elementType) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。 |
MapSE<StringSE, ObjectSE> | queryForMap(StringSE sql) 静的 SQL を指定して、結果マップのクエリを実行します。 |
MapSE<StringSE, ObjectSE> | queryForMap(StringSE sql, ObjectSE... args) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。 |
MapSE<StringSE, ObjectSE> | queryForMap(StringSE sql, ObjectSE[] args, int[] argTypes) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。 |
<T> T | queryForObject(StringSE sql, ClassSE<T> requiredType) 静的 SQL を指定して、結果オブジェクトのクエリを実行します。 |
<T> T | queryForObject(StringSE sql, ClassSE<T> requiredType, ObjectSE... args) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。 |
<T> T | queryForObject(StringSE sql, ObjectSE[] args, ClassSE<T> requiredType) 使用すべきではありません。 |
<T> T | queryForObject(StringSE sql, ObjectSE[] args, int[] argTypes, ClassSE<T> requiredType) 指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。 |
<T> T | queryForObject(StringSE sql, ObjectSE[] args, int[] argTypes, RowMapper<T> rowMapper) 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。 |
<T> T | queryForObject(StringSE sql, ObjectSE[] args, RowMapper<T> rowMapper) 使用すべきではありません。 |
<T> T | queryForObject(StringSE sql, RowMapper<T> rowMapper) 静的 SQL を指定してクエリを実行し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。 |
<T> T | queryForObject(StringSE sql, RowMapper<T> rowMapper, ObjectSE... args) 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を結果オブジェクトにマッピングします。 |
SqlRowSet | queryForRowSet(StringSE sql) 静的 SQL を指定して、SqlRowSet のクエリを実行します。 |
SqlRowSet | queryForRowSet(StringSE sql, ObjectSE... args) 指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。 |
SqlRowSet | queryForRowSet(StringSE sql, ObjectSE[] args, int[] argTypes) 指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。 |
<T> StreamSE<T> | queryForStream(PreparedStatementCreator psc, PreparedStatementSetter pss, RowMapper<T> rowMapper) PreparedStatementCreator および PreparedStatementSetter を許可する準備済みステートメントを使用した照会。 |
<T> StreamSE<T> | queryForStream(PreparedStatementCreator psc, RowMapper<T> rowMapper) 準備済みステートメントを使用してクエリを実行し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。 |
<T> StreamSE<T> | queryForStream(StringSE sql, PreparedStatementSetter pss, RowMapper<T> rowMapper) 指定された SQL をクエリして、SQL とクエリに値をバインドする方法を知っている PreparedStatementSetter 実装から準備済みステートメントを作成し、各行を RowMapper を介して結果オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。 |
<T> StreamSE<T> | queryForStream(StringSE sql, RowMapper<T> rowMapper) 静的 SQL を指定してクエリを実行し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。 |
<T> StreamSE<T> | queryForStream(StringSE sql, RowMapper<T> rowMapper, ObjectSE... args) 指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、各行を RowMapper を介して結果オブジェクトにマッピングし、それを反復可能でクローズ可能なストリームに変換します。 |
void | setFetchSize(int fetchSize) この JdbcTemplate のフェッチサイズを設定します。 |
void | setIgnoreWarnings(boolean ignoreWarnings) SQLWarnings を無視するかどうかを設定します。 |
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 | update(PreparedStatementCreator psc) PreparedStatementCreator を使用して単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、SQL および必要なパラメーターを提供します。 |
int | update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder) PreparedStatementCreator を使用して更新ステートメントを発行し、SQL および必要なパラメーターを提供します。 |
protected int | update(PreparedStatementCreator psc, PreparedStatementSetter pss) |
int | update(StringSE sql) 単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行します。 |
int | update(StringSE sql, ObjectSE... args) 準備されたステートメントを介して、単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、指定された引数をバインドします。 |
int | update(StringSE sql, ObjectSE[] args, int[] argTypes) 準備されたステートメントを介して、単一の SQL 更新操作(挿入、更新、削除ステートメントなど)を発行し、指定された引数をバインドします。 |
int | update(StringSE sql, PreparedStatementSetter pss) PreparedStatementSetter を使用して更新ステートメントを発行し、指定された SQL でバインドパラメーターを設定します。 |
afterPropertiesSet, getDataSource, getExceptionTranslator, isLazyInit, obtainDataSource, setDatabaseProductName, setDataSource, setExceptionTranslator, setLazyInit
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public JdbcTemplate()
メモ: インスタンスを使用する前に、DataSource を設定する必要があります。
public JdbcTemplate(DataSourceSE dataSource)
メモ: これは、例外トランスレーターの初期化をトリガーしません。
dataSource
- 接続を取得する JDBC DataSourcepublic JdbcTemplate(DataSourceSE dataSource, boolean lazyInit)
メモ: "lazyInit" フラグに応じて、例外トランスレーターの初期化がトリガーされます。
dataSource
- 接続を取得する JDBC DataSourcelazyInit
- SQLExceptionTranslator を遅延初期化するかどうか public void setIgnoreWarnings(boolean ignoreWarnings)
デフォルトは "true" で、すべての警告を飲み込んで記録します。このフラグを "false" に切り替えて、代わりに JdbcTemplate が SQLWarningException をスローするようにします。
public boolean isIgnoreWarnings()
public void setFetchSize(int fetchSize)
デフォルトは -1 で、JDBC ドライバーのデフォルト設定を使用することを示します(つまり、特定のフェッチサイズ設定をドライバーに渡さないようにします)。
メモ: 4.3 の時点で、-1 以外の負の値はドライバーに渡されます。MySQL は Integer.MIN_VALUE
の特別な動作をサポートします。
public int getFetchSize()
public void setMaxRows(int maxRows)
デフォルトは -1 で、JDBC ドライバーのデフォルト構成を使用することを示します(つまり、特定の最大行設定をドライバーに渡さないようにします)。
注: 4.3 以降、特別な MySQL 値に対する setFetchSize(int)
のサポートと同期して、-1 以外の負の値がドライバーに渡されます。
public int getMaxRows()
public void setQueryTimeout(int queryTimeout)
デフォルトは -1 で、JDBC ドライバーのデフォルトを使用する(つまり、ドライバーで特定のクエリタイムアウト設定を渡さない)ことを示します。
メモ: ここで指定されたタイムアウトは、トランザクションレベルで指定されたタイムアウトを持つトランザクション内で実行すると、残りのトランザクションタイムアウトによってオーバーライドされます。
public int getQueryTimeout()
public void setSkipResultsProcessing(boolean skipResultsProcessing)
public boolean isSkipResultsProcessing()
public void setSkipUndeclaredResults(boolean skipUndeclaredResults)
public boolean isSkipUndeclaredResults()
public void setResultsMapCaseInsensitive(boolean resultsMapCaseInsensitive)
public boolean isResultsMapCaseInsensitive()
@Nullable public <T> T execute(ConnectionCallback<T> action) throws DataAccessException
JdbcOperations
コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
JdbcOperations
の execute
action
- アクションを指定するコールバックオブジェクト null
DataAccessException
- 問題がある場合 protected ConnectionSE createConnectionProxy(ConnectionSE con)
execute
メソッドによって呼び出されます。プロキシは、返された JDBC ステートメントも準備し、フェッチサイズ、最大行、クエリタイムアウトなどのステートメント設定を適用します。
con
- プロキシを作成する JDBC 接続 Connection.close()
SE, execute(ConnectionCallback)
, applyStatementSettings(java.sql.Statement)
@Nullable public <T> T execute(StatementCallback<T> action) throws DataAccessException
JdbcOperations
コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
JdbcOperations
の execute
action
- アクションを指定するコールバック null
DataAccessException
- 問題がある場合 public void execute(StringSE sql) throws DataAccessException
JdbcOperations
JdbcOperations
の execute
sql
- 実行する静的 SQLDataAccessException
- 問題がある場合 @Nullable public <T> T query(StringSE sql, ResultSetExtractor<T> rse) throws DataAccessException
JdbcOperations
PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として null
でオーバーロードされた query
メソッドを使用します。
JdbcOperations
の query
sql
- 実行する SQL クエリ rse
- 結果のすべての行を抽出するコールバック DataAccessException
- クエリの実行に問題がある場合 JdbcOperations.query(String, ResultSetExtractor, Object...)
public void query(StringSE sql, RowCallbackHandler rch) throws DataAccessException
JdbcOperations
PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として null
でオーバーロードされた query
メソッドを使用します。
JdbcOperations
の query
sql
- 実行する SQL クエリ rch
- 結果を 1 行ずつ抽出するコールバック DataAccessException
- クエリの実行に問題がある場合 JdbcOperations.query(String, RowCallbackHandler, Object...)
public <T> ListSE<T> query(StringSE sql, RowMapper<T> rowMapper) throws DataAccessException
JdbcOperations
PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として null
でオーバーロードされた query
メソッドを使用します。
JdbcOperations
の query
sql
- 実行する SQL クエリ rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック DataAccessException
- クエリの実行に問題がある場合 JdbcOperations.query(String, RowMapper, Object...)
public <T> StreamSE<T> queryForStream(StringSE sql, RowMapper<T> rowMapper) throws DataAccessException
JdbcOperations
PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として null
でオーバーロードされた query
メソッドを使用します。
JdbcOperations
の queryForStream
sql
- 実行する SQL クエリ rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック DataAccessException
- クエリの実行に問題がある場合 JdbcOperations.queryForStream(String, RowMapper, Object...)
public MapSE<StringSE,ObjectSE> queryForMap(StringSE sql) throws DataAccessException
JdbcOperations
PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として null
でオーバーロードされた JdbcOperations.queryForMap(String, Object...)
メソッドを使用します。
クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
JdbcOperations
の queryForMap
sql
- 実行する SQL クエリ IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 DataAccessException
- クエリの実行に問題がある場合 JdbcOperations.queryForMap(String, Object...)
, ColumnMapRowMapper
@Nullable public <T> T queryForObject(StringSE sql, RowMapper<T> rowMapper) throws DataAccessException
JdbcOperations
PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として null
でオーバーロードされた JdbcOperations.queryForObject(String, RowMapper, Object...)
メソッドを使用します。
JdbcOperations
の queryForObject
sql
- 実行する SQL クエリ rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック RowMapper
が null を返した場合、null
になることがあります)IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 DataAccessException
- クエリの実行に問題がある場合 JdbcOperations.queryForObject(String, RowMapper, Object...)
@Nullable public <T> T queryForObject(StringSE sql, ClassSE<T> requiredType) throws DataAccessException
JdbcOperations
PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として null
でオーバーロードされた JdbcOperations.queryForObject(String, Class, Object...)
メソッドを使用します。
このメソッドは、既知の結果で静的 SQL を実行できます。クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
JdbcOperations
の queryForObject
sql
- 実行する SQL クエリ requiredType
- 結果オブジェクトが一致すると予想される型 null
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合 DataAccessException
- クエリの実行に問題がある場合 JdbcOperations.queryForObject(String, Class, Object...)
public <T> ListSE<T> queryForList(StringSE sql, ClassSE<T> elementType) throws DataAccessException
JdbcOperations
PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として null
でオーバーロードされた queryForList
メソッドを使用します。
結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
JdbcOperations
の queryForList
sql
- 実行する SQL クエリ elementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)DataAccessException
- クエリの実行に問題がある場合 JdbcOperations.queryForList(String, Class, Object...)
, SingleColumnRowMapper
public ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql) throws DataAccessException
JdbcOperations
PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として null
でオーバーロードされた queryForList
メソッドを使用します。
結果は、マップのリスト(各行に 1 つのエントリ)にマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。リスト内の各要素は、このインターフェースの queryForMap
メソッドによって返される形式になります。
JdbcOperations
の queryForList
sql
- 実行する SQL クエリ DataAccessException
- クエリの実行に問題がある場合 JdbcOperations.queryForList(String, Object...)
public SqlRowSet queryForRowSet(StringSE sql) throws DataAccessException
JdbcOperations
PreparedStatement ではなく JDBC ステートメントを使用します。PreparedStatement で静的クエリを実行する場合は、引数配列として null
でオーバーロードされた queryForRowSet
メソッドを使用します。
結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、JDBC RowSet サポートが実行時に使用可能である必要があることに注意してください。デフォルトでは、Sun の com.sun.rowset.CachedRowSetImpl
クラスが使用されます。これは、JDK 1.5 + の一部であり、Sun の JDBC RowSet 実装のダウンロード(rowset.jar)の一部として個別に入手することもできます。
JdbcOperations
の queryForRowSet
sql
- 実行する SQL クエリ javax.sql.rowset.CachedRowSet
のラッパー)DataAccessException
- クエリの実行に問題がある場合 JdbcOperations.queryForRowSet(String, Object...)
, SqlRowSetResultSetExtractor
, CachedRowSet
SEpublic int update(StringSE sql) throws DataAccessException
JdbcOperations
JdbcOperations
の update
sql
- 実行する静的 SQLDataAccessException
- 問題がある場合。public int[] batchUpdate(StringSE... sql) throws DataAccessException
JdbcOperations
JDBC ドライバーがバッチ更新をサポートしていない場合、単一のステートメントで個別の更新にフォールバックします。
JdbcOperations
の batchUpdate
sql
- 実行される SQL ステートメントの配列を定義します。DataAccessException
- バッチの実行に問題がある場合 @Nullable public <T> T execute(PreparedStatementCreator psc, PreparedStatementCallback<T> action) throws DataAccessException
JdbcOperations
コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
JdbcOperations
の execute
psc
- 接続を指定して PreparedStatement を作成するコールバック action
- アクションを指定するコールバック null
DataAccessException
- 問題がある場合 @Nullable public <T> T execute(StringSE sql, PreparedStatementCallback<T> action) throws DataAccessException
JdbcOperations
コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
JdbcOperations
の execute
sql
- 実行する SQLaction
- アクションを指定するコールバック null
DataAccessException
- 問題がある場合 @Nullable public <T> T query(PreparedStatementCreator psc, @Nullable PreparedStatementSetter pss, ResultSetExtractor<T> rse) throws DataAccessException
psc
- 接続を指定して PreparedStatement を作成するコールバック pss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これが null
の場合、SQL にはバインドパラメーターが含まれないと見なされます。rse
- 結果を抽出するコールバック DataAccessException
- 問題がある場合 @Nullable public <T> T query(PreparedStatementCreator psc, ResultSetExtractor<T> rse) throws DataAccessException
JdbcOperations
PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
JdbcOperations
の query
psc
- 接続を指定して PreparedStatement を作成するコールバック rse
- 結果を抽出するコールバック DataAccessException
- 問題がある場合 PreparedStatementCreatorFactory
@Nullable public <T> T query(StringSE sql, @Nullable PreparedStatementSetter pss, ResultSetExtractor<T> rse) throws DataAccessException
JdbcOperations
JdbcOperations
の query
sql
- 実行する SQL クエリ pss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これが null
の場合、SQL にはバインドパラメーターが含まれないと見なされます。バインドパラメーターがない場合でも、このコールバックを使用してフェッチサイズやその他のパフォーマンスオプションを設定できます。rse
- 結果を抽出するコールバック DataAccessException
- 問題がある場合 @Nullable public <T> T query(StringSE sql, ObjectSE[] args, int[] argTypes, ResultSetExtractor<T> rse) throws DataAccessException
JdbcOperations
JdbcOperations
の query
sql
- 実行する SQL クエリ args
- クエリにバインドする引数 argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)rse
- 結果を抽出するコールバック DataAccessException
- クエリが失敗した場合 Types
SE@DeprecatedSE @Nullable public <T> T query(StringSE sql, @Nullable ObjectSE[] args, ResultSetExtractor<T> rse) throws DataAccessException
JdbcOperations
JdbcOperations
の query
sql
- 実行する SQL クエリ args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。rse
- 結果を抽出するコールバック DataAccessException
- クエリが失敗した場合 @Nullable public <T> T query(StringSE sql, ResultSetExtractor<T> rse, @Nullable ObjectSE... args) throws DataAccessException
JdbcOperations
JdbcOperations
の query
sql
- 実行する SQL クエリ rse
- 結果を抽出するコールバック args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。DataAccessException
- クエリが失敗した場合 public void query(PreparedStatementCreator psc, RowCallbackHandler rch) throws DataAccessException
JdbcOperations
PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
JdbcOperations
の query
psc
- 接続を指定して PreparedStatement を作成するコールバック rch
- 結果を 1 行ずつ抽出するコールバック DataAccessException
- 問題がある場合 PreparedStatementCreatorFactory
public void query(StringSE sql, @Nullable PreparedStatementSetter pss, RowCallbackHandler rch) throws DataAccessException
JdbcOperations
JdbcOperations
の query
sql
- 実行する SQL クエリ pss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これが null
の場合、SQL にはバインドパラメーターが含まれないと見なされます。バインドパラメーターがない場合でも、このコールバックを使用してフェッチサイズやその他のパフォーマンスオプションを設定できます。rch
- 結果を 1 行ずつ抽出するコールバック DataAccessException
- クエリが失敗した場合 public void query(StringSE sql, ObjectSE[] args, int[] argTypes, RowCallbackHandler rch) throws DataAccessException
JdbcOperations
JdbcOperations
の query
sql
- 実行する SQL クエリ args
- クエリにバインドする引数 argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)rch
- 結果を 1 行ずつ抽出するコールバック DataAccessException
- クエリが失敗した場合 Types
SE@DeprecatedSE public void query(StringSE sql, @Nullable ObjectSE[] args, RowCallbackHandler rch) throws DataAccessException
JdbcOperations
JdbcOperations
の query
sql
- 実行する SQL クエリ args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。rch
- 結果を 1 行ずつ抽出するコールバック DataAccessException
- クエリが失敗した場合 public void query(StringSE sql, RowCallbackHandler rch, @Nullable ObjectSE... args) throws DataAccessException
JdbcOperations
JdbcOperations
の query
sql
- 実行する SQL クエリ rch
- 結果を 1 行ずつ抽出するコールバック args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。DataAccessException
- クエリが失敗した場合 public <T> ListSE<T> query(PreparedStatementCreator psc, RowMapper<T> rowMapper) throws DataAccessException
JdbcOperations
PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
JdbcOperations
の query
psc
- 接続を指定して PreparedStatement を作成するコールバック rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック DataAccessException
- 問題がある場合 PreparedStatementCreatorFactory
public <T> ListSE<T> query(StringSE sql, @Nullable PreparedStatementSetter pss, RowMapper<T> rowMapper) throws DataAccessException
JdbcOperations
JdbcOperations
の query
sql
- 実行する SQL クエリ pss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これが null
の場合、SQL にはバインドパラメーターが含まれないと見なされます。バインドパラメーターがない場合でも、このコールバックを使用してフェッチサイズやその他のパフォーマンスオプションを設定できます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック DataAccessException
- クエリが失敗した場合 public <T> ListSE<T> query(StringSE sql, ObjectSE[] args, int[] argTypes, RowMapper<T> rowMapper) throws DataAccessException
JdbcOperations
JdbcOperations
の query
sql
- 実行する SQL クエリ args
- クエリにバインドする引数 argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック DataAccessException
- クエリが失敗した場合 Types
SE@DeprecatedSE public <T> ListSE<T> query(StringSE sql, @Nullable ObjectSE[] args, RowMapper<T> rowMapper) throws DataAccessException
JdbcOperations
JdbcOperations
の query
sql
- 実行する SQL クエリ args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック DataAccessException
- クエリが失敗した場合 public <T> ListSE<T> query(StringSE sql, RowMapper<T> rowMapper, @Nullable ObjectSE... args) throws DataAccessException
JdbcOperations
JdbcOperations
の query
sql
- 実行する SQL クエリ rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。DataAccessException
- クエリが失敗した場合 public <T> StreamSE<T> queryForStream(PreparedStatementCreator psc, @Nullable PreparedStatementSetter pss, RowMapper<T> rowMapper) throws DataAccessException
psc
- 接続を指定して PreparedStatement を作成するコールバック pss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これが null
の場合、SQL にはバインドパラメーターが含まれないと見なされます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック DataAccessException
- クエリが失敗した場合 public <T> StreamSE<T> queryForStream(PreparedStatementCreator psc, RowMapper<T> rowMapper) throws DataAccessException
JdbcOperations
PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
JdbcOperations
の queryForStream
psc
- 接続を指定して PreparedStatement を作成するコールバック rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック DataAccessException
- 問題がある場合 PreparedStatementCreatorFactory
public <T> StreamSE<T> queryForStream(StringSE sql, @Nullable PreparedStatementSetter pss, RowMapper<T> rowMapper) throws DataAccessException
JdbcOperations
JdbcOperations
の queryForStream
sql
- 実行する SQL クエリ pss
- 準備されたステートメントに値を設定する方法を知っているコールバック。これが null
の場合、SQL にはバインドパラメーターが含まれないと見なされます。バインドパラメーターがない場合でも、このコールバックを使用してフェッチサイズやその他のパフォーマンスオプションを設定できます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック DataAccessException
- クエリが失敗した場合 public <T> StreamSE<T> queryForStream(StringSE sql, RowMapper<T> rowMapper, @Nullable ObjectSE... args) throws DataAccessException
JdbcOperations
JdbcOperations
の queryForStream
sql
- 実行する SQL クエリ rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。DataAccessException
- クエリが失敗した場合 @Nullable public <T> T queryForObject(StringSE sql, ObjectSE[] args, int[] argTypes, RowMapper<T> rowMapper) throws DataAccessException
JdbcOperations
JdbcOperations
の queryForObject
sql
- 実行する SQL クエリ args
- クエリにバインドする引数 (対応する SQL 型を推測するために PreparedStatement に任せる)argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック RowMapper
が null を返した場合、null
になることがあります)IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 DataAccessException
- クエリが失敗した場合 @DeprecatedSE @Nullable public <T> T queryForObject(StringSE sql, @Nullable ObjectSE[] args, RowMapper<T> rowMapper) throws DataAccessException
JdbcOperations
JdbcOperations
の queryForObject
sql
- 実行する SQL クエリ args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック RowMapper
が null を返した場合、null
になることがあります)IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 DataAccessException
- クエリが失敗した場合 @Nullable public <T> T queryForObject(StringSE sql, RowMapper<T> rowMapper, @Nullable ObjectSE... args) throws DataAccessException
JdbcOperations
JdbcOperations
の queryForObject
sql
- 実行する SQL クエリ rowMapper
- 行ごとに 1 つのオブジェクトをマップするコールバック args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。RowMapper
が null を返した場合、null
になることがあります)IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 DataAccessException
- クエリが失敗した場合 @Nullable public <T> T queryForObject(StringSE sql, ObjectSE[] args, int[] argTypes, ClassSE<T> requiredType) throws DataAccessException
JdbcOperations
クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
JdbcOperations
の queryForObject
sql
- 実行する SQL クエリ args
- クエリにバインドする引数 argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)requiredType
- 結果オブジェクトが一致すると予想される型 null
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合 DataAccessException
- クエリが失敗した場合 JdbcOperations.queryForObject(String, Class)
, Types
SE@DeprecatedSE public <T> T queryForObject(StringSE sql, @Nullable ObjectSE[] args, ClassSE<T> requiredType) throws DataAccessException
JdbcOperations
クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
JdbcOperations
の queryForObject
sql
- 実行する SQL クエリ args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。requiredType
- 結果オブジェクトが一致すると予想される型 null
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合 DataAccessException
- クエリが失敗した場合 JdbcOperations.queryForObject(String, Class)
public <T> T queryForObject(StringSE sql, ClassSE<T> requiredType, @Nullable ObjectSE... args) throws DataAccessException
JdbcOperations
クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。
JdbcOperations
の queryForObject
sql
- 実行する SQL クエリ requiredType
- 結果オブジェクトが一致すると予想される型 args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。null
IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 IncorrectResultSetColumnCountException
- クエリが単一の列を含む行を返さない場合 DataAccessException
- クエリが失敗した場合 JdbcOperations.queryForObject(String, Class)
public MapSE<StringSE,ObjectSE> queryForMap(StringSE sql, ObjectSE[] args, int[] argTypes) throws DataAccessException
JdbcOperations
クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
JdbcOperations
の queryForMap
sql
- 実行する SQL クエリ args
- クエリにバインドする引数 argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 DataAccessException
- クエリが失敗した場合 JdbcOperations.queryForMap(String)
, ColumnMapRowMapper
, Types
SEpublic MapSE<StringSE,ObjectSE> queryForMap(StringSE sql, @Nullable ObjectSE... args) throws DataAccessException
JdbcOperations
このインターフェースで定義されている queryForMap
メソッドは、ドメインモデルがない場合に適しています。それ以外の場合は、queryForObject
メソッドのいずれかを使用することを検討してください。
クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。
JdbcOperations
の queryForMap
sql
- 実行する SQL クエリ args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。IncorrectResultSizeDataAccessException
- クエリが正確に 1 行を返さない場合 DataAccessException
- クエリが失敗した場合 JdbcOperations.queryForMap(String)
, ColumnMapRowMapper
public <T> ListSE<T> queryForList(StringSE sql, ObjectSE[] args, int[] argTypes, ClassSE<T> elementType) throws DataAccessException
JdbcOperations
結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
JdbcOperations
の queryForList
sql
- 実行する SQL クエリ args
- クエリにバインドする引数 argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)elementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)DataAccessException
- クエリが失敗した場合 JdbcOperations.queryForList(String, Class)
, SingleColumnRowMapper
@DeprecatedSE public <T> ListSE<T> queryForList(StringSE sql, @Nullable ObjectSE[] args, ClassSE<T> elementType) throws DataAccessException
JdbcOperations
結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
JdbcOperations
の queryForList
sql
- 実行する SQL クエリ args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。elementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)DataAccessException
- クエリが失敗した場合 JdbcOperations.queryForList(String, Class)
, SingleColumnRowMapper
public <T> ListSE<T> queryForList(StringSE sql, ClassSE<T> elementType, @Nullable ObjectSE... args) throws DataAccessException
JdbcOperations
結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。
JdbcOperations
の queryForList
sql
- 実行する SQL クエリ elementType
- 結果リスト内の必須型の要素 (たとえば、Integer.class
)args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。DataAccessException
- クエリが失敗した場合 JdbcOperations.queryForList(String, Class)
, SingleColumnRowMapper
public ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql, ObjectSE[] args, int[] argTypes) throws DataAccessException
JdbcOperations
結果は、マップのリスト(行ごとに 1 つのエントリ)にマップされます(列名をキーとして使用して、列ごとに 1 つのエントリ)。リスト内の各要素は、このインターフェースの queryForMap
メソッドによって返される形式になります。
JdbcOperations
の queryForList
sql
- 実行する SQL クエリ args
- クエリにバインドする引数 argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)DataAccessException
- クエリが失敗した場合 JdbcOperations.queryForList(String)
, Types
SEpublic ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql, @Nullable ObjectSE... args) throws DataAccessException
JdbcOperations
結果は、マップのリスト(行ごとに 1 つのエントリ)にマップされます(列名をキーとして使用して、列ごとに 1 つのエントリ)。リスト内の各要素は、このインターフェースの queryForMap
メソッドによって返される形式になります。
JdbcOperations
の queryForList
sql
- 実行する SQL クエリ args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。DataAccessException
- クエリが失敗した場合 JdbcOperations.queryForList(String)
public SqlRowSet queryForRowSet(StringSE sql, ObjectSE[] args, int[] argTypes) throws DataAccessException
JdbcOperations
結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、JDBC RowSet サポートが実行時に使用可能である必要があることに注意してください。デフォルトでは、Sun の com.sun.rowset.CachedRowSetImpl
クラスが使用されます。これは、JDK 1.5 + の一部であり、Sun の JDBC RowSet 実装のダウンロード(rowset.jar)の一部として個別に入手することもできます。
JdbcOperations
の queryForRowSet
sql
- 実行する SQL クエリ args
- クエリにバインドする引数 argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)javax.sql.rowset.CachedRowSet
のラッパー)DataAccessException
- クエリの実行に問題がある場合 JdbcOperations.queryForRowSet(String)
, SqlRowSetResultSetExtractor
, CachedRowSet
SE, Types
SEpublic SqlRowSet queryForRowSet(StringSE sql, @Nullable ObjectSE... args) throws DataAccessException
JdbcOperations
結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。
デフォルトの実装では、JDBC RowSet サポートが実行時に使用可能である必要があることに注意してください。デフォルトでは、Sun の com.sun.rowset.CachedRowSetImpl
クラスが使用されます。これは、JDK 1.5 + の一部であり、Sun の JDBC RowSet 実装のダウンロード(rowset.jar)の一部として個別に入手することもできます。
JdbcOperations
の queryForRowSet
sql
- 実行する SQL クエリ args
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。javax.sql.rowset.CachedRowSet
のラッパー)DataAccessException
- クエリの実行に問題がある場合 JdbcOperations.queryForRowSet(String)
, SqlRowSetResultSetExtractor
, CachedRowSet
SEprotected int update(PreparedStatementCreator psc, @Nullable PreparedStatementSetter pss) throws DataAccessException
public int update(PreparedStatementCreator psc) throws DataAccessException
JdbcOperations
PreparedStatementCreator は、直接実装するか、PreparedStatementCreatorFactory を介して構成できます。
JdbcOperations
の update
psc
- SQL および必要なパラメーターを提供するコールバック DataAccessException
- 更新の発行に問題がある場合 PreparedStatementCreatorFactory
public int update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder) throws DataAccessException
JdbcOperations
指定された PreparedStatementCreator は、生成されたキーの抽出をアクティブ化するステートメントを作成する必要があることに注意してください(JDBC 3.0 機能)。これは、直接または PreparedStatementCreatorFactory を使用して行うことができます。
JdbcOperations
の update
psc
- SQL および必要なパラメーターを提供するコールバック generatedKeyHolder
- 生成されたキーを保持する KeyHolderDataAccessException
- 更新の発行に問題がある場合 PreparedStatementCreatorFactory
, GeneratedKeyHolder
public int update(StringSE sql, @Nullable PreparedStatementSetter pss) throws DataAccessException
JdbcOperations
JdbcOperations
の update
sql
- バインドパラメーターを含む SQLpss
- バインドパラメーターを設定するヘルパー。これが null
の場合、静的 SQL で更新を実行します。DataAccessException
- 更新の発行に問題がある場合 public int update(StringSE sql, ObjectSE[] args, int[] argTypes) throws DataAccessException
JdbcOperations
JdbcOperations
の update
sql
- バインドパラメーターを含む SQLargs
- クエリにバインドする引数 argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)DataAccessException
- 更新の発行に問題がある場合 Types
SEpublic int update(StringSE sql, @Nullable ObjectSE... args) throws DataAccessException
JdbcOperations
JdbcOperations
の update
sql
- バインドパラメーターを含む SQLargs
- クエリにバインドする引数(対応する SQL 型は PreparedStatement が推測)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue
オブジェクトを含めることもできます。DataAccessException
- 更新の発行に問題がある場合 public int[] batchUpdate(StringSE sql, BatchPreparedStatementSetter pss) throws DataAccessException
JdbcOperations
JDBC ドライバーがバッチ更新をサポートしていない場合、単一の PreparedStatement で個別の更新にフォールバックします。
JdbcOperations
の batchUpdate
sql
- 再利用される PreparedStatement を定義します。バッチ内のすべてのステートメントは同じ SQL を使用します。pss
- このメソッドによって作成された PreparedStatement にパラメーターを設定するオブジェクト Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります)DataAccessException
- 更新の発行に問題がある場合 public int[] batchUpdate(StringSE sql, ListSE<ObjectSE[]> batchArgs) throws DataAccessException
JdbcOperations
JdbcOperations
の batchUpdate
sql
- 実行する SQL ステートメント batchArgs
- クエリの引数のバッチを含むオブジェクト配列のリスト Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります)DataAccessException
- 更新の発行に問題がある場合 public int[] batchUpdate(StringSE sql, ListSE<ObjectSE[]> batchArgs, int[] argTypes) throws DataAccessException
JdbcOperations
JdbcOperations
の batchUpdate
sql
- 実行する SQL ステートメント。batchArgs
- クエリの引数のバッチを含むオブジェクト配列のリスト argTypes
- 引数の SQL 型 (java.sql.Types
からの定数)Statement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります)DataAccessException
- 更新の発行に問題がある場合 public <T> int[][] batchUpdate(StringSE sql, CollectionSE<T> batchArgs, int batchSize, ParameterizedPreparedStatementSetter<T> pss) throws DataAccessException
JdbcOperations
JdbcOperations
の batchUpdate
sql
- 実行する SQL ステートメント。batchArgs
- クエリの引数のバッチを含むオブジェクト配列のリスト batchSize
- バッチサイズ pss
- 使用する ParameterizedPreparedStatementSetterStatement.SUCCESS_NO_INFO
SE/Statement.EXECUTE_FAILED
SE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります)DataAccessException
- 更新の発行に問題がある場合 @Nullable public <T> T execute(CallableStatementCreator csc, CallableStatementCallback<T> action) throws DataAccessException
JdbcOperations
コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
JdbcOperations
の execute
csc
- 接続を指定して CallableStatement を作成するコールバック action
- アクションを指定するコールバック null
DataAccessException
- 問題がある場合 @Nullable public <T> T execute(StringSE callString, CallableStatementCallback<T> action) throws DataAccessException
JdbcOperations
コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。
JdbcOperations
の execute
callString
- 実行する SQL 呼び出し文字列 action
- アクションを指定するコールバック null
DataAccessException
- 問題がある場合 public MapSE<StringSE,ObjectSE> call(CallableStatementCreator csc, ListSE<SqlParameter> declaredParameters) throws DataAccessException
JdbcOperations
JdbcOperations
の call
csc
- SQL および必要なパラメーターを提供するコールバック declaredParameters
- 宣言された SqlParameter オブジェクトのリスト DataAccessException
- 更新の発行に問題がある場合 protected MapSE<StringSE,ObjectSE> extractReturnedResults(CallableStatementSE cs, @Nullable ListSE<SqlParameter> updateCountParameters, @Nullable ListSE<SqlParameter> resultSetParameters, int updateCount) throws SQLExceptionSE
cs
- ストアドプロシージャの JDBC ラッパー updateCountParameters
- ストアドプロシージャの宣言された更新カウントパラメーターのパラメーターリスト resultSetParameters
- ストアドプロシージャの宣言された resultSet パラメーターのパラメーターリスト SQLExceptionSE
protected MapSE<StringSE,ObjectSE> extractOutputParameters(CallableStatementSE cs, ListSE<SqlParameter> parameters) throws SQLExceptionSE
cs
- ストアドプロシージャの JDBC ラッパー parameters
- ストアドプロシージャのパラメーターリスト SQLExceptionSE
protected MapSE<StringSE,ObjectSE> processResultSet(@Nullable ResultSetSE rs, ResultSetSupportingSqlParameter param) throws SQLExceptionSE
rs
- 処理する ResultSetparam
- 対応するストアドプロシージャパラメーター SQLExceptionSE
protected RowMapper<MapSE<StringSE,ObjectSE>> getColumnMapRowMapper()
ColumnMapRowMapper
protected <T> RowMapper<T> getSingleColumnRowMapper(ClassSE<T> requiredType)
requiredType
- 各結果オブジェクトが一致すると予想される型 SingleColumnRowMapper
protected MapSE<StringSE,ObjectSE> createResultsMap()
resultsMapCaseInsensitive
が true に設定されている場合、LinkedCaseInsensitiveMap
が作成されます。それ以外の場合は、LinkedHashMap
SE が作成されます。
setResultsMapCaseInsensitive(boolean)
, isResultsMapCaseInsensitive()
protected void applyStatementSettings(StatementSE stmt) throws SQLExceptionSE
stmt
- 準備する JDBC ステートメント SQLExceptionSE
- JDBC API によってスローされた場合 setFetchSize(int)
, setMaxRows(int)
, setQueryTimeout(int)
, DataSourceUtils.applyTransactionTimeout(java.sql.Statement, javax.sql.DataSource)
protected PreparedStatementSetter newArgPreparedStatementSetter(@Nullable ObjectSE[] args)
デフォルトでは、ArgumentPreparedStatementSetter
を作成します。このメソッドを使用すると、作成をサブクラスでオーバーライドできます。
args
- 引数を持つオブジェクト配列 protected PreparedStatementSetter newArgTypePreparedStatementSetter(ObjectSE[] args, int[] argTypes)
デフォルトでは、ArgumentTypePreparedStatementSetter
を作成します。このメソッドを使用すると、作成をサブクラスでオーバーライドできます。
args
- 引数を持つオブジェクト配列 argTypes
- 関連する引数の SQLType の int 配列 protected void handleWarnings(StatementSE stmt) throws SQLExceptionSE
stmt
- 現在の JDBC ステートメント SQLWarningException
- 警告を無視しない場合 SQLExceptionSE
SQLWarningException
protected void handleWarnings(@Nullable SQLWarningSE warning) throws SQLWarningException
warning
- 現在のステートメントの警告オブジェクト。null
の場合があります。その場合、このメソッドは何も実行しません。SQLWarningException
- 発生する実際の警告の場合 protected DataAccessException translateException(StringSE task, @Nullable StringSE sql, SQLExceptionSE ex)
SQLException
SE を汎用 DataAccessException
に変換します。task
- 試行されているタスクを説明する読み取り可能なテキスト sql
- 問題を引き起こした SQL クエリまたは更新 (null
の場合があります)ex
- 問題のある SQLException
SQLException
をラップする DataAccessException (非 null
)JdbcAccessor.getExceptionTranslator()