|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.jdbc.object.RdbmsOperation
org.springframework.jdbc.object.SqlCall
org.springframework.jdbc.object.StoredProcedure
public abstract class StoredProcedure
Superclass for object abstractions of RDBMS stored procedures.
This class is abstract and it is intended that subclasses will provide
a typed method for invocation that delegates to the supplied
execute(java.lang.Object...)
method.
The inherited sql
property is the name of the stored
procedure in the RDBMS. Note that JDBC 3.0 introduces named parameters,
although the other features provided by this class are still necessary
in JDBC 3.0.
RdbmsOperation.setSql(java.lang.String)
Field Summary |
---|
Fields inherited from class org.springframework.jdbc.object.RdbmsOperation |
---|
logger |
Constructor Summary | |
---|---|
protected |
StoredProcedure()
Allow use as a bean. |
protected |
StoredProcedure(javax.sql.DataSource ds,
java.lang.String name)
Create a new object wrapper for a stored procedure. |
protected |
StoredProcedure(JdbcTemplate jdbcTemplate,
java.lang.String name)
Create a new object wrapper for a stored procedure. |
Method Summary | |
---|---|
protected boolean |
allowsUnusedParameters()
StoredProcedure parameter Maps are by default allowed to contain additional entries that are not actually used as parameters. |
void |
declareParameter(SqlParameter param)
Declare a parameter. |
java.util.Map<java.lang.String,java.lang.Object> |
execute(java.util.Map<java.lang.String,?> inParams)
Execute the stored procedure. |
java.util.Map<java.lang.String,java.lang.Object> |
execute(java.lang.Object... inParams)
Execute the stored procedure with the provided parameter values. |
java.util.Map<java.lang.String,java.lang.Object> |
execute(ParameterMapper inParamMapper)
Execute the stored procedure. |
Methods inherited from class org.springframework.jdbc.object.SqlCall |
---|
compileInternal, getCallString, isFunction, isSqlReadyForUse, newCallableStatementCreator, newCallableStatementCreator, onCompileInternal, setFunction, setSqlReadyForUse |
Methods inherited from class org.springframework.jdbc.object.RdbmsOperation |
---|
afterPropertiesSet, checkCompiled, compile, getDeclaredParameters, getGeneratedKeysColumnNames, getJdbcTemplate, getResultSetType, getSql, isCompiled, isReturnGeneratedKeys, isUpdatableResults, setDataSource, setFetchSize, setGeneratedKeysColumnNames, setJdbcTemplate, setMaxRows, setParameters, setQueryTimeout, setResultSetType, setReturnGeneratedKeys, setSql, setTypes, setUpdatableResults, supportsLobParameters, validateNamedParameters, validateParameters |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected StoredProcedure()
protected StoredProcedure(javax.sql.DataSource ds, java.lang.String name)
ds
- DataSource to use throughout the lifetime
of this object to obtain connectionsname
- name of the stored procedure in the databaseprotected StoredProcedure(JdbcTemplate jdbcTemplate, java.lang.String name)
jdbcTemplate
- JdbcTemplate which wraps DataSourcename
- name of the stored procedure in the databaseMethod Detail |
---|
protected boolean allowsUnusedParameters()
allowsUnusedParameters
in class RdbmsOperation
StoredProcedure
public void declareParameter(SqlParameter param) throws InvalidDataAccessApiUsageException
SqlParameter
and SqlInOutParameter
will always be used to provide input values. In addition to this any parameter declared
as SqlOutParameter
where an non-null input value is provided will also be used
as an input paraneter.
Note: Calls to declareParameter must be made in the same order as
they appear in the database's stored procedure parameter list.
Names are purely used to help mapping.
declareParameter
in class RdbmsOperation
param
- parameter object
InvalidDataAccessApiUsageException
- if the operation is already compiled,
and hence cannot be configured furtherpublic java.util.Map<java.lang.String,java.lang.Object> execute(java.lang.Object... inParams)
inParams
- variable number of input parameters. Output parameters should
not be included in this map.
It is legal for values to be null
, and this will produce the
correct behavior using a NULL argument to the stored procedure.
public java.util.Map<java.lang.String,java.lang.Object> execute(java.util.Map<java.lang.String,?> inParams) throws DataAccessException
inParams
- map of input parameters, keyed by name as in parameter
declarations. Output parameters need not (but can) be included in this map.
It is legal for map entries to be null
, and this will produce the
correct behavior using a NULL argument to the stored procedure.
DataAccessException
public java.util.Map<java.lang.String,java.lang.Object> execute(ParameterMapper inParamMapper) throws DataAccessException
inParamMapper
- map of input parameters, keyed by name as in parameter
declarations. Output parameters need not (but can) be included in this map.
It is legal for map entries to be null
, and this will produce the correct
behavior using a NULL argument to the stored procedure.
DataAccessException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |