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