T
- 結果の型 public abstract class SqlQuery<T> extends SqlOperation
サブクラスは、newRowMapper(java.lang.Object[], java.util.Map<?, ?>)
メソッドを実装して、クエリの実行中に作成された ResultSet
を反復処理した結果を抽出できるオブジェクトを提供する必要があります。
このクラスは、さまざまな便利な JDO クエリ実行メソッドに類似した多数のパブリック execute
メソッドを提供します。サブクラスは、これらの継承されたメソッドのいずれかに依存するか、意味のある名前と型付きパラメーターを使用して独自のカスタム実行メソッドを追加できます(間違いなくベストプラクティス)。各カスタムクエリメソッドは、このクラスの型なしクエリメソッドの 1 つを呼び出します。
Spring Framework に同梱されているすべての RdbmsOperation
クラスと同様に、SqlQuery
インスタンスは初期化が完了した後はスレッドセーフです。つまり、setter メソッドを使用して構築および構成した後、複数のスレッドから安全に使用できます。
SqlUpdate
logger
コンストラクターと説明 |
---|
SqlQuery() JavaBean として使用できるようにするコンストラクター。 |
SqlQuery(DataSourceSE ds, StringSE sql) DataSource と SQL 文字列を使用した便利なコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
ListSE<T> | execute() パラメーターやコンテキストなしで実行する便利なメソッド。 |
ListSE<T> | execute(int p1) 単一の int パラメーターで実行する便利なメソッド。 |
ListSE<T> | execute(int p1, int p2) 2 つの int パラメーターで実行する便利なメソッド。 |
ListSE<T> | execute(int p1, int p2, MapSE<?,?> context) 2 つの int パラメーターとコンテキストで実行する便利なメソッド。 |
ListSE<T> | execute(int p1, MapSE<?,?> context) 単一の int パラメーターとコンテキストで実行する便利なメソッド。 |
ListSE<T> | execute(long p1) 単一の長いパラメーターで実行する便利なメソッド。 |
ListSE<T> | execute(long p1, MapSE<?,?> context) 単一の長いパラメーターとコンテキストで実行する便利なメソッド。 |
ListSE<T> | execute(MapSE<?,?> context) パラメーターなしで実行する便利なメソッド。 |
ListSE<T> | execute(ObjectSE... params) コンテキストなしで実行する便利なメソッド。 |
ListSE<T> | execute(ObjectSE[] params, MapSE<?,?> context) 主要な実行メソッド。 |
ListSE<T> | execute(StringSE p1) 単一の String パラメーターで実行する便利なメソッド。 |
ListSE<T> | execute(StringSE p1, MapSE<?,?> context) 単一の String パラメーターとコンテキストで実行する便利なメソッド。 |
ListSE<T> | executeByNamedParam(MapSE<StringSE,?> paramMap) コンテキストなしで実行する便利なメソッド。 |
ListSE<T> | executeByNamedParam(MapSE<StringSE,?> paramMap, MapSE<?,?> context) 主要な実行メソッド。 |
T | findObject(int p1) 単一の int パラメーターを指定して単一のオブジェクトを検索する便利なメソッド。 |
T | findObject(int p1, int p2) 2 つの int パラメーターが与えられた単一のオブジェクトを見つける便利なメソッド。 |
T | findObject(int p1, int p2, MapSE<?,?> context) 2 つの int パラメーターとコンテキストが与えられた単一のオブジェクトを検索する便利なメソッド。 |
T | findObject(int p1, MapSE<?,?> context) 単一の int パラメーターとコンテキストが与えられた単一のオブジェクトを検索する便利なメソッド。 |
T | findObject(long p1) 単一の長いパラメーターを指定して単一のオブジェクトを検索する便利なメソッド。 |
T | findObject(long p1, MapSE<?,?> context) 単一の長いパラメーターとコンテキストを指定して単一のオブジェクトを検索する便利なメソッド。 |
T | findObject(ObjectSE... params) コンテキストなしで単一のオブジェクトを見つける便利な方法。 |
T | findObject(ObjectSE[] params, MapSE<?,?> context) 他のすべての findObject メソッドで使用される汎用オブジェクト検索メソッド。 |
T | findObject(StringSE p1) 単一の String パラメーターを指定して単一のオブジェクトを検索する便利なメソッド。 |
T | findObject(StringSE p1, MapSE<?,?> context) 単一の String パラメーターとコンテキストを指定して単一のオブジェクトを検索する便利なメソッド。 |
T | findObjectByNamedParam(MapSE<StringSE,?> paramMap) コンテキストなしで実行する便利なメソッド。 |
T | findObjectByNamedParam(MapSE<StringSE,?> paramMap, MapSE<?,?> context) 名前付きパラメーターの汎用オブジェクト検索メソッド。 |
int | getRowsExpected() 予想される行数を取得します。 |
protected abstract RowMapper<T> | newRowMapper(ObjectSE[] parameters, MapSE<?,?> context) サブクラスは、このメソッドを実装して、 execute メソッドによって集約された List SE として返される行ごとにオブジェクトを抽出する必要があります。 |
void | setRowsExpected(int rowsExpected) 予想される行数を設定します。 |
compileInternal, getParsedSql, newPreparedStatementCreator, newPreparedStatementCreator, newPreparedStatementSetter, onCompileInternal
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
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public SqlQuery()
DataSource
および SQL は、コンパイルして使用する前に提供する必要があります。
public SqlQuery(DataSourceSE ds, StringSE sql)
DataSource
と SQL 文字列を使用した便利なコンストラクター。ds
- 接続を取得するために使用する DataSource
sql
- 実行する SQL。RdbmsOperation.getSql()
メソッドをオーバーライドすることにより、実行時に SQL を提供することもできます。public void setRowsExpected(int rowsExpected)
これを使用して、結果を効率的に保存できます。デフォルトの動作では、特定の行数は想定されていません。
public int getRowsExpected()
public ListSE<T> execute(@Nullable ObjectSE[] params, @Nullable MapSE<?,?> context) throws DataAccessException
params
- JDO クエリパラメーターと同様のパラメーター。プリミティブパラメーターは、オブジェクトラッパー型で表す必要があります。パラメーターの順序は重要です。context
- mapRow
コールバックメソッドに渡されるコンテキスト情報。JDBC 操作自体はこのパラメーターに依存しませんが、結果リストのオブジェクトを作成できます。DataAccessException
public ListSE<T> execute(ObjectSE... params) throws DataAccessException
params
- クエリのパラメーター。プリミティブパラメーターは、オブジェクトラッパー型で表す必要があります。パラメーターの順序は重要です。DataAccessException
public ListSE<T> execute(MapSE<?,?> context) throws DataAccessException
context
- オブジェクト作成のコンテキスト情報 DataAccessException
public ListSE<T> execute() throws DataAccessException
public ListSE<T> execute(int p1, @Nullable MapSE<?,?> context) throws DataAccessException
p1
- 単一の int パラメーター context
- オブジェクト作成のコンテキスト情報 DataAccessException
public ListSE<T> execute(int p1) throws DataAccessException
p1
- 単一の int パラメーター DataAccessException
public ListSE<T> execute(int p1, int p2, @Nullable MapSE<?,?> context) throws DataAccessException
p1
- 最初の int パラメーター p2
- 2 番目の int パラメーター context
- オブジェクト作成のコンテキスト情報 DataAccessException
public ListSE<T> execute(int p1, int p2) throws DataAccessException
p1
- 最初の int パラメーター p2
- 2 番目の int パラメーター DataAccessException
public ListSE<T> execute(long p1, @Nullable MapSE<?,?> context) throws DataAccessException
p1
- 単一の長いパラメーター context
- オブジェクト作成のコンテキスト情報 DataAccessException
public ListSE<T> execute(long p1) throws DataAccessException
p1
- 単一の長いパラメーター DataAccessException
public ListSE<T> execute(StringSE p1, @Nullable MapSE<?,?> context) throws DataAccessException
p1
- 単一の String パラメーター context
- オブジェクト作成のコンテキスト情報 DataAccessException
public ListSE<T> execute(StringSE p1) throws DataAccessException
p1
- 単一の String パラメーター DataAccessException
public ListSE<T> executeByNamedParam(MapSE<StringSE,?> paramMap, @Nullable MapSE<?,?> context) throws DataAccessException
paramMap
- SqlParameters の宣言中に指定された名前に関連付けられたパラメーター。プリミティブパラメーターは、オブジェクトラッパー型で表す必要があります。パラメーターは、Map インターフェースの実装である SqlParameterMap で提供されるため、パラメーターの順序は重要ではありません。context
- mapRow
コールバックメソッドに渡されるコンテキスト情報。JDBC 操作自体はこのパラメーターに依存しませんが、結果リストのオブジェクトを作成できます。DataAccessException
public ListSE<T> executeByNamedParam(MapSE<StringSE,?> paramMap) throws DataAccessException
paramMap
- SqlParameters の宣言中に指定された名前に関連付けられたパラメーター。プリミティブパラメーターは、オブジェクトラッパー型で表す必要があります。パラメーターの順序は重要ではありません。DataAccessException
@Nullable public T findObject(@Nullable ObjectSE[] params, @Nullable MapSE<?,?> context) throws DataAccessException
findObject
メソッドで使用される汎用オブジェクト検索メソッド。オブジェクトファインダメソッドは、EJB エンティティ Bean ファインダに似ています。複数の結果を返す場合、エラーと見なされます。null
サブクラスはこれをエラーとして扱い、例外をスローすることを選択できます。DataAccessException
DataAccessUtils.singleResult(java.util.Collection<T>)
@Nullable public T findObject(ObjectSE... params) throws DataAccessException
@Nullable public T findObject(int p1, @Nullable MapSE<?,?> context) throws DataAccessException
@Nullable public T findObject(int p1) throws DataAccessException
@Nullable public T findObject(int p1, int p2, @Nullable MapSE<?,?> context) throws DataAccessException
@Nullable public T findObject(int p1, int p2) throws DataAccessException
@Nullable public T findObject(long p1, @Nullable MapSE<?,?> context) throws DataAccessException
@Nullable public T findObject(long p1) throws DataAccessException
@Nullable public T findObject(StringSE p1, @Nullable MapSE<?,?> context) throws DataAccessException
@Nullable public T findObject(StringSE p1) throws DataAccessException
@Nullable public T findObjectByNamedParam(MapSE<StringSE,?> paramMap, @Nullable MapSE<?,?> context) throws DataAccessException
paramMap
- SQL ステートメントで指定された名前付きパラメーターに一致するパラメーター名のパラメーターオブジェクトへのマップ。順序は重要ではありません。context
- mapRow
コールバックメソッドに渡されるコンテキスト情報。JDBC 操作自体はこのパラメーターに依存しませんが、結果リストのオブジェクトを作成できます。DataAccessException
@Nullable public T findObjectByNamedParam(MapSE<StringSE,?> paramMap) throws DataAccessException
paramMap
- SQL ステートメントで指定された名前付きパラメーターに一致するパラメーター名のパラメーターオブジェクトへのマップ。順序は重要ではありません。DataAccessException
protected abstract RowMapper<T> newRowMapper(@Nullable ObjectSE[] parameters, @Nullable MapSE<?,?> context)
execute
メソッドによって集約された List
SE として返される行ごとにオブジェクトを抽出する必要があります。parameters
- サブクラスに関心がある場合の execute()
メソッドのパラメーター。パラメーターがなかった場合は、null
になる場合があります。context
- mapRow
コールバックメソッドに渡されるコンテキスト情報。JDBC 操作自体はこのパラメーターに依存しませんが、結果リストのオブジェクトを作成できます。execute(java.lang.Object[], java.util.Map<?, ?>)