クラス SqlFunction<T>
- 型パラメーター:
T
- 結果の型
- 実装されたすべてのインターフェース:
InitializingBean
結果の単一行を返すクエリの SQL「関数」ラッパー。デフォルトの動作では int が返されますが、戻り値の型パラメーターを追加したコンストラクターを使用してオーバーライドできます。
"select user()" や "select sysdate from dual" などのクエリを使用して単一の結果を返す SQL 関数を呼び出すために使用することを目的としています。より複雑なストアド関数を呼び出すことや、CallableStatement を使用してストアドプロシージャまたはストアド関数を呼び出すことは目的としていません。この型の処理には、StoredProcedure または SqlCall を使用します。
これは具象クラスであり、多くの場合、サブクラス化する必要はありません。このパッケージを使用するコードは、この型のオブジェクトを作成し、SQL とパラメーターを宣言してから、適切な run
メソッドを繰り返し呼び出して関数を実行できます。サブクラスは、特定のパラメーターと戻り値の型に特化した run
メソッドを追加することのみを想定しています。
すべての RdbmsOperation オブジェクトと同様に、SqlFunction オブジェクトはスレッドセーフです。
- 作成者:
- Rod Johnson, Juergen Hoeller, Jean-Pierre Pawlak
- 関連事項:
ネストされたクラスのサマリー
クラス org.springframework.jdbc.object.MappingSqlQueryWithParameters から継承されたネストクラス / インターフェース
MappingSqlQueryWithParameters.RowMapperImpl
フィールドのサマリー
クラス org.springframework.jdbc.object.RdbmsOperation から継承されたフィールド
logger
コンストラクターの概要
コンストラクターコンストラクター説明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
SqlQuery.execute([])メソッドに似ています。引数なしで関数を実行し、値をオブジェクトとして返す便利なメソッド。runGeneric
(int parameter) 単一の int 引数で関数を実行する便利なメソッド。runGeneric
(ObjectSE[] parameters) SqlQuery.findObject(Object[])
メソッドに似ています。void
setResultType
(ClassSE<T> resultType) 結果オブジェクトが一致する必要がある型を指定します。クラス org.springframework.jdbc.object.MappingSqlQuery から継承されたメソッド
mapRow
クラス org.springframework.jdbc.object.MappingSqlQueryWithParameters から継承されたメソッド
newRowMapper
クラス org.springframework.jdbc.object.SqlQuery から継承されたメソッド
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
クラス 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
コンストラクターの詳細
SqlFunction
public SqlFunction()JavaBean として使用できるコンストラクター。compile
メソッドを呼び出してこのオブジェクトを使用する前に、DataSource、SQL、任意のパラメーターを指定する必要があります。SqlFunction
SQL を使用して、パラメーターを指定せずに新しい SqlFunction オブジェクトを作成します。パラメーターを追加するか、パラメーターなしで解決する必要があります。- パラメーター:
ds
- 接続を取得する DataSourcesql
- 実行する SQL
SqlFunction
SQL とパラメーターを使用して新しい SqlFunction オブジェクトを作成します。- パラメーター:
ds
- 接続を取得する DataSourcesql
- 実行する SQLtypes
-java.sql.Types
クラスで定義されているパラメーターの SQL 型- 関連事項:
SqlFunction
SQL、パラメーター、結果型を使用して、新しい SqlFunction オブジェクトを作成します。- パラメーター:
ds
- 接続を取得する DataSourcesql
- 実行する SQLtypes
-java.sql.Types
クラスで定義されているパラメーターの SQL 型resultType
- 結果オブジェクトが一致する必要がある型- 関連事項:
メソッドの詳細
setResultType
結果オブジェクトが一致する必要がある型を指定します。指定しない場合、JDBC ドライバーから返される結果値が公開されます。
mapRow
このメソッドのこの実装は、関数によって返された単一の行から単一の値を抽出します。返される行数が異なる場合、これはエラーとして扱われます。- 次で指定:
- クラス
MappingSqlQuery<T>
のmapRow
- パラメーター:
rs
- 取り組んでいる ResultSetrowNum
- 行番号(0 から)- 戻り値:
- 結果型のオブジェクト
- 例外:
SQLExceptionSE
- データの抽出中にエラーが発生した場合。サブクラスは SQLException を単純にキャッチできず、クリーンアップはフレームワークに依存しています。
run
public int run()引数なしで関数を実行する便利なメソッド。- 戻り値:
- 関数の値
run
public int run(int parameter) 単一の int 引数で関数を実行する便利なメソッド。- パラメーター:
parameter
- 単一の int パラメーター- 戻り値:
- 関数の値
run
SqlQuery.execute([])メソッドに似ています。これはクエリを実行するための一般的なメソッドであり、いくつかの引数を取ります。- パラメーター:
parameters
- パラメーターの配列。これらは、プリミティブのオブジェクトまたはオブジェクトラッパー型です。- 戻り値:
- 関数の値
runGeneric
引数なしで関数を実行し、値をオブジェクトとして返す便利なメソッド。- 戻り値:
- 関数の値
runGeneric
単一の int 引数で関数を実行する便利なメソッド。- パラメーター:
parameter
- 単一の int パラメーター- 戻り値:
- オブジェクトとしての関数の値
runGeneric
SqlQuery.findObject(Object[])
メソッドに似ています。これはクエリを実行するための一般的なメソッドであり、いくつかの引数を取ります。- パラメーター:
parameters
- パラメーターの配列。これらは、プリミティブのオブジェクトまたはオブジェクトラッパー型です。- 戻り値:
- オブジェクトとしての関数の値
- 関連事項: