public class SqlFunction<T> extends MappingSqlQuery<T>
"select user()" や "select sysdate from dual" などのクエリを使用して単一の結果を返す SQL 関数を呼び出すために使用することを目的としています。より複雑なストアド関数を呼び出すことや、CallableStatement を使用してストアドプロシージャまたはストアド関数を呼び出すことは目的としていません。この型の処理には、StoredProcedure または SqlCall を使用します。
これは具象クラスであり、多くの場合、サブクラス化する必要はありません。このパッケージを使用するコードは、この型のオブジェクトを作成し、SQL とパラメーターを宣言してから、適切な run メソッドを繰り返し呼び出して関数を実行できます。サブクラスは、特定のパラメーターと戻り値の型に特化した run メソッドを追加することのみを想定しています。
すべての RdbmsOperation オブジェクトと同様に、SqlFunction オブジェクトはスレッドセーフです。
StoredProcedureMappingSqlQueryWithParameters.RowMapperImpllogger| コンストラクターと説明 |
|---|
SqlFunction()JavaBean として使用できるようにするコンストラクター。 |
SqlFunction(DataSourceSE ds, StringSE sql)SQL を使用して、パラメーターを指定せずに新しい SqlFunction オブジェクトを作成します。 |
SqlFunction(DataSourceSE ds, StringSE sql, int[] types)SQL とパラメーターを使用して新しい SqlFunction オブジェクトを作成します。 |
SqlFunction(DataSourceSE ds, StringSE sql, int[] types, ClassSE<T> resultType)SQL、パラメーター、結果型を使用して、新しい SqlFunction オブジェクトを作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected T | mapRow(ResultSetSE rs, int rowNum) このメソッドのこの実装は、関数によって返された単一の行から単一の値を抽出します。 |
int | run() 引数なしで関数を実行する便利なメソッド。 |
int | run(int parameter) 単一の int 引数で関数を実行する便利なメソッド。 |
int | run(ObjectSE... parameters)SqlQuery.execute([])メソッドに似ています。 |
ObjectSE | runGeneric() 引数なしで関数を実行し、値をオブジェクトとして返す便利なメソッド。 |
ObjectSE | runGeneric(int parameter) 単一の int 引数で関数を実行する便利なメソッド。 |
ObjectSE | runGeneric(ObjectSE[] parameters)SqlQuery.findObject(Object[]) メソッドに似ています。 |
void | setResultType(ClassSE<T> resultType) 結果オブジェクトが一致する必要がある型を指定します。 |
mapRownewRowMapperexecute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, executeByNamedParam, executeByNamedParam, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObjectByNamedParam, findObjectByNamedParam, getRowsExpected, setRowsExpectedcompileInternal, 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, validateParameterscloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic SqlFunction()
compile メソッドを呼び出してこのオブジェクトを使用する前に、DataSource、SQL、任意のパラメーターを指定する必要があります。public SqlFunction(DataSourceSE ds, StringSE sql)
ds - から接続を取得する DataSourcesql - 実行する SQLpublic SqlFunction(DataSourceSE ds, StringSE sql, int[] types)
ds - から接続を取得する DataSourcesql - 実行する SQLtypes - java.sql.Types クラスで定義されているパラメーターの SQL 型 TypesSEpublic SqlFunction(DataSourceSE ds, StringSE sql, int[] types, ClassSE<T> resultType)
ds - から接続を取得する DataSourcesql - 実行する SQLtypes - java.sql.Types クラスで定義されているパラメーターの SQL 型 resultType - 結果オブジェクトが一致する必要がある型 setResultType(Class), TypesSEpublic void setResultType(ClassSE<T> resultType)
指定しない場合、JDBC ドライバーから返される結果値が公開されます。
@Nullable protected T mapRow(ResultSetSE rs, int rowNum) throws SQLExceptionSE
MappingSqlQuery<T> の mapRow rs - 取り組んでいる ResultSetrowNum - 行番号(0 から)SQLExceptionSE - データの抽出中にエラーが発生した場合。サブクラスは SQLException を単純にキャッチできず、クリーンアップはフレームワークに依存しています。public int run()
public int run(int parameter)
parameter - 単一の int パラメーター public int run(ObjectSE... parameters)
parameters - パラメーターの配列。これらは、プリミティブのオブジェクトまたはオブジェクトラッパー型です。@Nullable public ObjectSE runGeneric(int parameter)
parameter - 単一の int パラメーター @Nullable public ObjectSE runGeneric(ObjectSE[] parameters)
SqlQuery.findObject(Object[]) メソッドに似ています。これはクエリを実行するための一般的なメソッドであり、いくつかの引数を取ります。parameters - パラメーターの配列。これらは、プリミティブのオブジェクトまたはオブジェクトラッパー型です。SqlQuery.execute(Object[])