|
[Deprecated API] | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | CURRENT API | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object | +--com.interface21.jdbc.object.RdbmsOperation
Root of the JDBC object hierarchy, as described in Chapter 9 of
Expert One-On-One J2EE Design and Development
by Rod Johnson (Wrox, 2002).
An "RDBMS operation" is a multithreaded, reusable object representing a query, update or stored procedure.
An RDBMS operation is not a command, as a command isn't be reusable.
However, execute methods may take commands as arguments.
Subclasses should be Java beans, allowing easy configuration.
This class and subclasses throw runtime exceptions, defined in the com.interface21.dao
package (and as thrown by the com.interface21.jdbc.core package,
which the classes in this package use to perform raw JDBC actions).
Subclasses should set DataSource, sql and add
parameters, before invoking the compile() method.
The order in which parameters are added is significant.
The appropriate execute or update method can then be invoked.
| Field Summary | |
protected org.apache.commons.logging.Log |
logger
|
| Constructor Summary | |
protected |
RdbmsOperation()
Construct a new RdbmsOperation |
| Method Summary | |
void |
afterPropertiesSet()
Ensures compilation if used in a bean factory |
void |
compile()
Compile this query. |
protected abstract void |
compileInternal()
Subclasses must implement to perform their own compilation. |
void |
declareParameter(SqlParameter param)
Declare a parameter. |
protected javax.sql.DataSource |
getDataSource()
Gets the DataSource in use |
protected java.util.List |
getDeclaredParameters()
Return a list of the declared SqlParameter objects |
java.lang.String |
getSql()
Subclasses can override this to supply dynamic SQL if they wish, but SQL is normally set by calling the setSql() method or in a subclass constructor. |
boolean |
isCompiled()
Is this operation "compiled"? |
void |
setDataSource(javax.sql.DataSource dataSource)
Sets the DataSource used to obtain connections |
void |
setSql(java.lang.String sql)
Set the SQL executed by this operation |
protected void |
setTypes(int[] types)
Add anonymous parameters, specifying only their SQL types as defined in the java.sql.Types class. |
protected void |
validateParameters(java.lang.Object[] parameters)
Validate the parameters passed to an execute method based on declared parameters. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected final org.apache.commons.logging.Log logger
| Constructor Detail |
protected RdbmsOperation()
| Method Detail |
protected void setTypes(int[] types)
throws InvalidDataAccessApiUsageException
types - array of SQL types as defined in the
java.sql.Types classInvalidDataAccessApiUsageException - if the operation is already compiled
public void declareParameter(SqlParameter param)
throws InvalidDataAccessApiUsageException
param - SqlParameter to add. This will specify SQL type and (optionally)
the parameter's name.InvalidDataAccessApiUsageException - if the operation is already compiled,
and hence cannot be configured furtherprotected java.util.List getDeclaredParameters()
public java.lang.String getSql()
public void setSql(java.lang.String sql)
sql - the SQL executed by this operationprotected final javax.sql.DataSource getDataSource()
public final void setDataSource(javax.sql.DataSource dataSource)
dataSource - The DataSource to setpublic void afterPropertiesSet()
afterPropertiesSet in interface InitializingBeanInitializingBean.afterPropertiesSet()public boolean isCompiled()
public final void compile()
throws InvalidDataAccessApiUsageException
InvalidDataAccessApiUsageException - if the object hasn't
been correctly initialized, for example if no DataSource has been provided.
protected abstract void compileInternal()
throws InvalidDataAccessApiUsageException
InvalidDataAccessApiUsageException - if the subclass
hasn't been properly configured.
protected final void validateParameters(java.lang.Object[] parameters)
throws InvalidDataAccessApiUsageException
parameters - parameters supplied. May be null.InvalidDataAccessApiUsageException - if the parameters are invalid
|
[Deprecated API] | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | CURRENT API | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||