java.lang.Object | ||||||
↳ | org.springframework.jdbc.object.RdbmsOperation | |||||
↳ | org.springframework.jdbc.object.SqlOperation | |||||
↳ | org.springframework.jdbc.object.SqlQuery<T> | |||||
↳ | org.springframework.jdbc.object.MappingSqlQueryWithParameters<T> | |||||
↳ | org.springframework.jdbc.object.MappingSqlQuery<T> | |||||
↳ | org.springframework.jdbc.object.SqlFunction<T> |
SQL "function" wrapper for a query that returns a single row of results. The default behavior is to return an int, but that can be overridden by using the constructor with an extra return type parameter.
Intended to use to call SQL functions that return a single result using a query like "select user()" or "select sysdate from dual". It is not intended for calling more complex stored functions or for using a CallableStatement to invoke a stored procedure or stored function. Use StoredProcedure or SqlCall for this type of processing.
This is a concrete class, which there is often no need to subclass.
Code using this package can create an object of this type, declaring SQL
and parameters, and then invoke the appropriate run
method
repeatedly to execute the function. Subclasses are only supposed to add
specialized run
methods for specific parameter and return types.
Like all RdbmsOperation objects, SqlFunction objects are thread-safe.
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructor to allow use as a JavaBean.
| |||||||||||
Create a new SqlFunction object with SQL, but without parameters.
| |||||||||||
Create a new SqlFunction object with SQL and parameters.
| |||||||||||
Create a new SqlFunction object with SQL, parameters and a result type.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Analogous to the SqlQuery.execute([]) method.
| |||||||||||
Convenient method to run the function without arguments.
| |||||||||||
Convenient method to run the function with a single int argument.
| |||||||||||
Analogous to the
SqlQuery.findObject(Object[]) method. | |||||||||||
Convenient method to run the function with a single int argument.
| |||||||||||
Convenient method to run the function without arguments,
returning the value as an object.
| |||||||||||
Specify the type that the result object is required to match.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
This implementation of this method extracts a single value from the
single row returned by the function.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() | |||||||||||
![]() | |||||||||||
![]() | |||||||||||
![]() | |||||||||||
![]() |
Constructor to allow use as a JavaBean.
A DataSource, SQL and any parameters must be supplied before
invoking the compile
method and using this object.
Create a new SqlFunction object with SQL, but without parameters. Must add parameters or settle with none.
ds | DataSource to obtain connections from |
---|---|
sql | SQL to execute |
Create a new SqlFunction object with SQL and parameters.
ds | DataSource to obtain connections from |
---|---|
sql | SQL to execute |
types | SQL types of the parameters, as defined in the
java.sql.Types class |
Create a new SqlFunction object with SQL, parameters and a result type.
ds | DataSource to obtain connections from |
---|---|
sql | SQL to execute |
types | SQL types of the parameters, as defined in the
java.sql.Types class |
resultType | the type that the result object is required to match |
setResultType(Class)
Analogous to the SqlQuery.execute([]) method. This is a generic method to execute a query, taken a number of arguments.
parameters | array of parameters. These will be objects or object wrapper types for primitives. |
---|
Convenient method to run the function without arguments.
Convenient method to run the function with a single int argument.
parameter | single int parameter |
---|
Analogous to the SqlQuery.findObject(Object[])
method.
This is a generic method to execute a query, taken a number of arguments.
parameters | array of parameters. These will be objects or object wrapper types for primitives. |
---|
Convenient method to run the function with a single int argument.
parameter | single int parameter |
---|
Convenient method to run the function without arguments, returning the value as an object.
Specify the type that the result object is required to match.
If not specified, the result value will be exposed as returned by the JDBC driver.
This implementation of this method extracts a single value from the single row returned by the function. If there are a different number of rows returned, this is treated as an error.
rs | ResultSet we're working through |
---|---|
rowNum | row number (from 0) we're up to |
SQLException |
---|