| java.lang.Object org.springframework.jdbc.object.RdbmsOperation org.springframework.jdbc.object.SqlOperation org.springframework.jdbc.object.SqlQuery org.springframework.jdbc.object.MappingSqlQueryWithParameters org.springframework.jdbc.object.MappingSqlQuery org.springframework.jdbc.object.SqlFunction
SqlFunction | public class SqlFunction extends MappingSqlQuery (Code) | | 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.
author: Rod Johnson author: Juergen Hoeller author: Jean-Pierre Pawlak See Also: org.springframework.jdbc.object.StoredProcedure |
Method Summary | |
protected Object | mapRow(ResultSet rs, int rowNum) This implementation of this method extracts a single value from the
single row returned by the function. | public int | run() Convenient method to run the function without arguments. | public int | run(int parameter) Convenient method to run the function with a single int argument. | public int | run(Object[] parameters) Analogous to the SqlQuery.execute([]) method. | public Object | runGeneric() Convenient method to run the function without arguments,
returning the value as an object. | public Object | runGeneric(int parameter) Convenient method to run the function with a single int argument. | public Object | runGeneric(Object[] parameters) Analogous to the SqlQuery.findObject(Object[]) method.
This is a generic method to execute a query, taken a number of arguments.
Parameters: parameters - array of parameters. | public void | setResultType(Class resultType) Specify the type that the result object is required to match. |
SqlFunction | public SqlFunction(DataSource ds, String sql)(Code) | | Create a new SqlFunction object with SQL, but without parameters.
Must add parameters or settle with none.
Parameters: ds - DataSource to obtain connections from Parameters: sql - SQL to execute |
SqlFunction | public SqlFunction(DataSource ds, String sql, int[] types)(Code) | | Create a new SqlFunction object with SQL and parameters.
Parameters: ds - DataSource to obtain connections from Parameters: sql - SQL to execute Parameters: types - SQL types of the parameters, as defined in thejava.sql.Types class See Also: java.sql.Types |
SqlFunction | public SqlFunction(DataSource ds, String sql, int[] types, Class resultType)(Code) | | Create a new SqlFunction object with SQL, parameters and a result type.
Parameters: ds - DataSource to obtain connections from Parameters: sql - SQL to execute Parameters: types - SQL types of the parameters, as defined in thejava.sql.Types class Parameters: resultType - the type that the result object is required to match See Also: SqlFunction.setResultType(Class) See Also: java.sql.Types |
mapRow | protected Object mapRow(ResultSet rs, int rowNum) throws SQLException(Code) | | 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.
|
run | public int run()(Code) | | Convenient method to run the function without arguments.
the value of the function |
run | public int run(int parameter)(Code) | | Convenient method to run the function with a single int argument.
Parameters: parameter - single int parameter the value of the function |
run | public int run(Object[] parameters)(Code) | | Analogous to the SqlQuery.execute([]) method. This is a
generic method to execute a query, taken a number of arguments.
Parameters: parameters - array of parameters. These will be objects orobject wrapper types for primitives. the value of the function |
runGeneric | public Object runGeneric()(Code) | | Convenient method to run the function without arguments,
returning the value as an object.
the value of the function |
runGeneric | public Object runGeneric(int parameter)(Code) | | Convenient method to run the function with a single int argument.
Parameters: parameter - single int parameter the value of the function as an Object |
runGeneric | public Object runGeneric(Object[] parameters)(Code) | | Analogous to the SqlQuery.findObject(Object[]) method.
This is a generic method to execute a query, taken a number of arguments.
Parameters: parameters - array of parameters. These will be objects orobject wrapper types for primitives. the value of the function, as an Object See Also: SqlFunction.execute(Object[]) |
setResultType | public void setResultType(Class resultType)(Code) | | 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.
|
Methods inherited from org.springframework.jdbc.object.SqlQuery | public List execute(Object[] params, Map context) throws DataAccessException(Code)(Java Doc) public List execute(Object[] params) throws DataAccessException(Code)(Java Doc) public List execute(Map context) throws DataAccessException(Code)(Java Doc) public List execute() throws DataAccessException(Code)(Java Doc) public List execute(int p1, Map context) throws DataAccessException(Code)(Java Doc) public List execute(int p1) throws DataAccessException(Code)(Java Doc) public List execute(int p1, int p2, Map context) throws DataAccessException(Code)(Java Doc) public List execute(int p1, int p2) throws DataAccessException(Code)(Java Doc) public List execute(long p1, Map context) throws DataAccessException(Code)(Java Doc) public List execute(long p1) throws DataAccessException(Code)(Java Doc) public List execute(String p1, Map context) throws DataAccessException(Code)(Java Doc) public List execute(String p1) throws DataAccessException(Code)(Java Doc) public List executeByNamedParam(Map paramMap, Map context) throws DataAccessException(Code)(Java Doc) public List executeByNamedParam(Map paramMap) throws DataAccessException(Code)(Java Doc) public Object findObject(Object[] params, Map context) throws DataAccessException(Code)(Java Doc) public Object findObject(Object[] params) throws DataAccessException(Code)(Java Doc) public Object findObject(int p1, Map context) throws DataAccessException(Code)(Java Doc) public Object findObject(int p1) throws DataAccessException(Code)(Java Doc) public Object findObject(int p1, int p2, Map context) throws DataAccessException(Code)(Java Doc) public Object findObject(int p1, int p2) throws DataAccessException(Code)(Java Doc) public Object findObject(long p1, Map context) throws DataAccessException(Code)(Java Doc) public Object findObject(long p1) throws DataAccessException(Code)(Java Doc) public Object findObject(String p1, Map context) throws DataAccessException(Code)(Java Doc) public Object findObject(String p1) throws DataAccessException(Code)(Java Doc) public Object findObjectByNamedParam(Map paramMap, Map context) throws DataAccessException(Code)(Java Doc) public Object findObjectByNamedParam(Map paramMap) throws DataAccessException(Code)(Java Doc) public int getRowsExpected()(Code)(Java Doc) abstract protected RowMapper newRowMapper(Object[] parameters, Map context)(Code)(Java Doc) public void setRowsExpected(int rowsExpected)(Code)(Java Doc)
|
Fields inherited from org.springframework.jdbc.object.RdbmsOperation | final protected Log logger(Code)(Java Doc)
|
|
|