クラス SqlQuery<T>
java.lang.ObjectSE
org.springframework.jdbc.object.RdbmsOperation
org.springframework.jdbc.object.SqlOperation
org.springframework.jdbc.object.SqlQuery<T>
- 型パラメーター:
T
- 結果の型
- 実装されたすべてのインターフェース:
InitializingBean
SQL クエリを表す再利用可能な操作オブジェクト。
サブクラスは、newRowMapper(java.lang.Object[], java.util.Map<?, ?>)
メソッドを実装して、クエリの実行中に作成された ResultSet
を反復処理した結果を抽出できるオブジェクトを提供する必要があります。
このクラスは、さまざまな便利な JDO クエリ実行メソッドに類似した多数のパブリック execute
メソッドを提供します。サブクラスは、これらの継承されたメソッドのいずれかに依存するか、意味のある名前と型付きパラメーターを使用して独自のカスタム実行メソッドを追加できます(間違いなくベストプラクティス)。各カスタムクエリメソッドは、このクラスの型なしクエリメソッドの 1 つを呼び出します。
Spring Framework に同梱されているすべての RdbmsOperation
クラスと同様に、SqlQuery
インスタンスは初期化が完了した後はスレッドセーフです。つまり、setter メソッドを使用して構築および構成した後、複数のスレッドから安全に使用できます。
- 作成者:
- Rod Johnson, Juergen Hoeller, Thomas Risberg
- 関連事項:
フィールドのサマリー
クラス org.springframework.jdbc.object.RdbmsOperation から継承されたフィールド
logger
コンストラクターの概要
コンストラクターコンストラクター説明SqlQuery()
JavaBean として使用できるようにするコンストラクター。SqlQuery
(DataSourceSE ds, StringSE sql) DataSource
と SQL 文字列を使用した便利なコンストラクター。メソッドのサマリー
修飾子と型メソッド説明execute()
パラメーターやコンテキストなしで実行する便利なメソッド。execute
(int p1) 単一の int パラメーターで実行する便利なメソッド。execute
(int p1, int p2) 2 つの int パラメーターで実行する便利なメソッド。2 つの int パラメーターとコンテキストで実行する便利なメソッド。単一の int パラメーターとコンテキストで実行する便利なメソッド。execute
(long p1) 単一の長いパラメーターで実行する便利なメソッド。単一の長いパラメーターとコンテキストで実行する便利なメソッド。コンテキストなしで実行する便利なメソッド。主要な実行メソッド。単一の String パラメーターで実行する便利なメソッド。単一の String パラメーターとコンテキストで実行する便利なメソッド。パラメーターなしで実行する便利なメソッド。executeByNamedParam
(MapSE<StringSE, ?> paramMap) コンテキストなしで実行する便利なメソッド。executeByNamedParam
(MapSE<StringSE, ?> paramMap, MapSE<?, ?> context) 主要な実行メソッド。findObject
(int p1) 単一の int パラメーターを指定して単一のオブジェクトを検索する便利なメソッド。findObject
(int p1, int p2) 2 つの int パラメーターが与えられた単一のオブジェクトを見つける便利なメソッド。findObject
(int p1, int p2, MapSE<?, ?> context) 2 つの int パラメーターとコンテキストが与えられた単一のオブジェクトを検索する便利なメソッド。findObject
(int p1, MapSE<?, ?> context) 単一の int パラメーターとコンテキストが与えられた単一のオブジェクトを検索する便利なメソッド。findObject
(long p1) 単一の長いパラメーターを指定して単一のオブジェクトを検索する便利なメソッド。findObject
(long p1, MapSE<?, ?> context) 単一の長いパラメーターとコンテキストを指定して単一のオブジェクトを検索する便利なメソッド。findObject
(ObjectSE... params) コンテキストなしで単一のオブジェクトを見つける便利な方法。findObject
(ObjectSE[] params, MapSE<?, ?> context) 他のすべてのfindObject
メソッドで使用される汎用オブジェクト検索メソッド。findObject
(StringSE p1) 単一の String パラメーターを指定して単一のオブジェクトを検索する便利なメソッド。findObject
(StringSE p1, MapSE<?, ?> context) 単一の String パラメーターとコンテキストを指定して単一のオブジェクトを検索する便利なメソッド。findObjectByNamedParam
(MapSE<StringSE, ?> paramMap) コンテキストなしで実行する便利なメソッド。findObjectByNamedParam
(MapSE<StringSE, ?> paramMap, MapSE<?, ?> context) 名前付きパラメーターの汎用オブジェクト検索メソッド。int
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2.4 以降、プロパティが動作に何ら影響を与えていないため、代替はありません。7.0 で削除されます。newRowMapper
(ObjectSE[] parameters, MapSE<?, ?> context) サブクラスは、このメソッドを実装して、execute
メソッドによって集約されたList
SE として返される行ごとにオブジェクトを抽出する必要があります。void
setRowsExpected
(int rowsExpected) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2.4 以降、プロパティが動作に何ら影響を与えていないため、代替はありません。7.0 で削除されます。クラス org.springframework.jdbc.object.SqlOperation から継承されたメソッド
compileInternal, getParsedSql, newPreparedStatementCreator, newPreparedStatementCreator, newPreparedStatementSetter, onCompileInternal
クラス org.springframework.jdbc.object.RdbmsOperation から継承されたメソッド
afterPropertiesSet, allowsUnusedParameters, checkCompiled, compile, declareParameter, getDeclaredParameters, getGeneratedKeysColumnNames, getJdbcTemplate, getResultSetType, getSql, isCompiled, isReturnGeneratedKeys, isUpdatableResults, resolveSql, setDataSource, setFetchSize, setGeneratedKeysColumnNames, setJdbcTemplate, setMaxRows, setParameters, setQueryTimeout, setResultSetType, setReturnGeneratedKeys, setSql, setTypes, setUpdatableResults, supportsLobParameters, validateNamedParameters, validateParameters
コンストラクターの詳細
SqlQuery
public SqlQuery()JavaBean として使用できるようにするコンストラクター。DataSource
および SQL は、コンパイルして使用する前に提供する必要があります。SqlQuery
DataSource
と SQL 文字列を使用した便利なコンストラクター。- パラメーター:
ds
- 接続を取得するために使用するDataSource
sql
- 実行する SQL。RdbmsOperation.getSql()
メソッドをオーバーライドすることにより、実行時に SQL を提供することもできます。
メソッドの詳細
setRowsExpected
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2.4 以降、プロパティが動作に何ら影響を与えていないため、代替はありません。7.0 で削除されます。予想される行数を設定します。これを使用して、結果を効率的に保存できます。デフォルトの動作では、特定の行数は想定されていません。
getRowsExpected
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2.4 以降、プロパティが動作に何ら影響を与えていないため、代替はありません。7.0 で削除されます。予想される行数を取得します。execute
public ListSE<T> execute(@Nullable ObjectSE[] params, @Nullable MapSE<?, ?> context) throws DataAccessException主要な実行メソッド。名前のないパラメーターの実行はすべて、このメソッドを経由します。- パラメーター:
params
- JDO クエリパラメーターと同様のパラメーター。プリミティブパラメーターは、オブジェクトラッパー型で表す必要があります。パラメーターの順序は重要です。context
-mapRow
コールバックメソッドに渡されるコンテキスト情報。JDBC 操作自体はこのパラメーターに依存しませんが、結果リストのオブジェクトを作成できます。- 戻り値:
- オブジェクトのリスト、ResultSet の行ごとに 1 つ。通常、これらはすべて同じクラスになりますが、異なる型を使用することもできます。
- 例外:
DataAccessException
execute
コンテキストなしで実行する便利なメソッド。- パラメーター:
params
- クエリのパラメーター。プリミティブパラメーターは、オブジェクトラッパー型で表す必要があります。パラメーターの順序は重要です。- 例外:
DataAccessException
execute
パラメーターなしで実行する便利なメソッド。- パラメーター:
context
- オブジェクト作成のコンテキスト情報- 例外:
DataAccessException
execute
パラメーターやコンテキストなしで実行する便利なメソッド。execute
単一の int パラメーターとコンテキストで実行する便利なメソッド。- パラメーター:
p1
- 単一の int パラメーターcontext
- オブジェクト作成のコンテキスト情報- 例外:
DataAccessException
execute
単一の int パラメーターで実行する便利なメソッド。- パラメーター:
p1
- 単一の int パラメーター- 例外:
DataAccessException
execute
2 つの int パラメーターとコンテキストで実行する便利なメソッド。- パラメーター:
p1
- 最初の int パラメーターp2
- 2 番目の int パラメーターcontext
- オブジェクト作成のコンテキスト情報- 例外:
DataAccessException
execute
2 つの int パラメーターで実行する便利なメソッド。- パラメーター:
p1
- 最初の int パラメーターp2
- 2 番目の int パラメーター- 例外:
DataAccessException
execute
単一の長いパラメーターとコンテキストで実行する便利なメソッド。- パラメーター:
p1
- 単一の長いパラメーターcontext
- オブジェクト作成のコンテキスト情報- 例外:
DataAccessException
execute
単一の長いパラメーターで実行する便利なメソッド。- パラメーター:
p1
- 単一の長いパラメーター- 例外:
DataAccessException
execute
単一の String パラメーターとコンテキストで実行する便利なメソッド。- パラメーター:
p1
- 単一の String パラメーターcontext
- オブジェクト作成のコンテキスト情報- 例外:
DataAccessException
execute
単一の String パラメーターで実行する便利なメソッド。- パラメーター:
p1
- 単一の String パラメーター- 例外:
DataAccessException
executeByNamedParam
public ListSE<T> executeByNamedParam(MapSE<StringSE, ?> paramMap, @Nullable MapSE<?, throws DataAccessException?> context) 主要な実行メソッド。名前付きパラメーターの実行はすべて、このメソッドを経由します。- パラメーター:
paramMap
- SqlParameters の宣言中に指定された名前に関連付けられたパラメーター。プリミティブパラメーターは、オブジェクトラッパー型で表す必要があります。パラメーターは、Map インターフェースの実装である SqlParameterMap で提供されるため、パラメーターの順序は重要ではありません。context
-mapRow
コールバックメソッドに渡されるコンテキスト情報。JDBC 操作自体はこのパラメーターに依存しませんが、結果リストのオブジェクトを作成できます。- 戻り値:
- オブジェクトのリスト、ResultSet の行ごとに 1 つ。通常、これらはすべて同じクラスになりますが、異なる型を使用することもできます。
- 例外:
DataAccessException
executeByNamedParam
コンテキストなしで実行する便利なメソッド。- パラメーター:
paramMap
- SqlParameters の宣言中に指定された名前に関連付けられたパラメーター。プリミティブパラメーターは、オブジェクトラッパー型で表す必要があります。パラメーターの順序は重要ではありません。- 例外:
DataAccessException
findObject
@Nullable public T findObject(@Nullable ObjectSE[] params, @Nullable MapSE<?, ?> context) throws DataAccessException他のすべてのfindObject
メソッドで使用される汎用オブジェクト検索メソッド。オブジェクトファインダメソッドは、EJB エンティティ Bean ファインダに似ています。複数の結果を返す場合、エラーと見なされます。- 戻り値:
- 結果オブジェクト。見つからない場合は
null
サブクラスはこれをエラーとして扱い、例外をスローすることを選択できます。 - 例外:
DataAccessException
- 関連事項:
findObject
コンテキストなしで単一のオブジェクトを見つける便利な方法。findObject
単一の int パラメーターとコンテキストが与えられた単一のオブジェクトを検索する便利なメソッド。findObject
単一の int パラメーターを指定して単一のオブジェクトを検索する便利なメソッド。findObject
@Nullable public T findObject(int p1, int p2, @Nullable MapSE<?, ?> context) throws DataAccessException2 つの int パラメーターとコンテキストが与えられた単一のオブジェクトを検索する便利なメソッド。findObject
2 つの int パラメーターが与えられた単一のオブジェクトを見つける便利なメソッド。findObject
単一の長いパラメーターとコンテキストを指定して単一のオブジェクトを検索する便利なメソッド。findObject
単一の長いパラメーターを指定して単一のオブジェクトを検索する便利なメソッド。findObject
単一の String パラメーターとコンテキストを指定して単一のオブジェクトを検索する便利なメソッド。findObject
単一の String パラメーターを指定して単一のオブジェクトを検索する便利なメソッド。findObjectByNamedParam
@Nullable public T findObjectByNamedParam(MapSE<StringSE, ?> paramMap, @Nullable MapSE<?, throws DataAccessException?> context) 名前付きパラメーターの汎用オブジェクト検索メソッド。- パラメーター:
paramMap
- SQL ステートメントで指定された名前付きパラメーターに一致するパラメーター名のパラメーターオブジェクトへのマップ。順序は重要ではありません。context
-mapRow
コールバックメソッドに渡されるコンテキスト情報。JDBC 操作自体はこのパラメーターに依存しませんが、結果リストのオブジェクトを作成できます。- 戻り値:
- オブジェクトのリスト、ResultSet の行ごとに 1 つ。通常、これらはすべて同じクラスになりますが、異なる型を使用することもできます。
- 例外:
DataAccessException
findObjectByNamedParam
コンテキストなしで実行する便利なメソッド。- パラメーター:
paramMap
- SQL ステートメントで指定された名前付きパラメーターに一致するパラメーター名のパラメーターオブジェクトへのマップ。順序は重要ではありません。- 例外:
DataAccessException
newRowMapper
protected abstract RowMapper<T> newRowMapper(@Nullable ObjectSE[] parameters, @Nullable MapSE<?, ?> context) サブクラスは、このメソッドを実装して、execute
メソッドによって集約されたList
SE として返される行ごとにオブジェクトを抽出する必要があります。- パラメーター:
parameters
- サブクラスに関心がある場合のexecute()
メソッドのパラメーター。パラメーターがなかった場合は、null
になる場合があります。context
-mapRow
コールバックメソッドに渡されるコンテキスト情報。JDBC 操作自体はこのパラメーターに依存しませんが、結果リストのオブジェクトを作成できます。- 関連事項: