T
- 結果の型 public class SqlFunction<T> extends MappingSqlQuery<T>
"select user()" や "select sysdate from dual" などのクエリを使用して単一の結果を返す SQL 関数を呼び出すために使用することを目的としています。より複雑なストアド関数を呼び出すことや、CallableStatement を使用してストアドプロシージャまたはストアド関数を呼び出すことは目的としていません。この型の処理には、StoredProcedure または SqlCall を使用します。
これは具象クラスであり、多くの場合、サブクラス化する必要はありません。このパッケージを使用するコードは、この型のオブジェクトを作成し、SQL とパラメーターを宣言してから、適切な run
メソッドを繰り返し呼び出して関数を実行できます。サブクラスは、特定のパラメーターと戻り値の型に特化した run
メソッドを追加することのみを想定しています。
すべての RdbmsOperation オブジェクトと同様に、SqlFunction オブジェクトはスレッドセーフです。
StoredProcedure
MappingSqlQueryWithParameters.RowMapperImpl
logger
コンストラクターと説明 |
---|
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) 結果オブジェクトが一致する必要がある型を指定します。 |
mapRow
newRowMapper
execute, 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, setRowsExpected
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 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 型 Types
SEpublic SqlFunction(DataSourceSE ds, StringSE sql, int[] types, ClassSE<T> resultType)
ds
- 接続を取得する DataSourcesql
- 実行する SQLtypes
- java.sql.Types
クラスで定義されているパラメーターの SQL 型 resultType
- 結果オブジェクトが一致する必要がある型 setResultType(Class)
, Types
SEpublic 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[])