com.interface21.jdbc.object
Class MappingSqlQuery
java.lang.Object
|
+--com.interface21.jdbc.object.RdbmsOperation
|
+--com.interface21.jdbc.object.SqlOperation
|
+--com.interface21.jdbc.object.SqlQuery
|
+--com.interface21.jdbc.object.MappingSqlQueryWithParameters
|
+--com.interface21.jdbc.object.MappingSqlQuery
- All Implemented Interfaces:
- InitializingBean
- Direct Known Subclasses:
- SqlFunction
- public abstract class MappingSqlQuery
- extends MappingSqlQueryWithParameters
Reusable query in which concrete subclasses must
implement the abstract mapRow(ResultSet, int) method to convert
each row of the JDBC ResultSet into an object.
Simplifies MappingSqlQueryWithParameters API by dropping parameters.
Most subclasses won't care about parameters.
- Author:
- Rod Johnson, Thomas Risberg
- See Also:
MappingSqlQueryWithParameters
|
Constructor Summary |
MappingSqlQuery()
Constructor to allow use as a JavaBean |
MappingSqlQuery(javax.sql.DataSource ds,
java.lang.String sql)
Convenient constructor |
|
Method Summary |
protected abstract java.lang.Object |
mapRow(java.sql.ResultSet rs,
int rownum)
Subclasses must implement this method to convert
each row of the ResultSet into an object of the result type.
|
protected java.lang.Object |
mapRow(java.sql.ResultSet rs,
int rownum,
java.lang.Object[] parameters)
This method is implemented to invoke the protected abstract
mapRow() method, ignoring parameters. |
| Methods inherited from class com.interface21.jdbc.object.SqlQuery |
execute, execute, execute, execute, execute, findObject, findObject, findObject, findObject, getRowsExpected, onCompileInternal, setRowsExpected |
| Methods inherited from class com.interface21.jdbc.object.RdbmsOperation |
afterPropertiesSet, compile, declareParameter, getDataSource, getDeclaredParameters, getSql, isCompiled, setDataSource, setSql, setTypes, validateParameters |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MappingSqlQuery
public MappingSqlQuery()
- Constructor to allow use as a JavaBean
MappingSqlQuery
public MappingSqlQuery(javax.sql.DataSource ds,
java.lang.String sql)
- Convenient constructor
- Parameters:
ds - DataSource to use to obtain connectionssql - SQL to run
mapRow
protected final java.lang.Object mapRow(java.sql.ResultSet rs,
int rownum,
java.lang.Object[] parameters)
throws java.sql.SQLException
- This method is implemented to invoke the protected abstract
mapRow() method, ignoring parameters.
- Overrides:
mapRow in class MappingSqlQueryWithParameters
- See Also:
MappingSqlQueryWithParameters#extract(ResultSet, int, Object[])
mapRow
protected abstract java.lang.Object mapRow(java.sql.ResultSet rs,
int rownum)
throws java.sql.SQLException
- Subclasses must implement this method to convert
each row of the ResultSet into an object of the result type.
Subclasses of this class, as opposed to direct subclasses
of MappingSqlQueryWithParameters, don't need to concern
themselves with the parameters to the execute() method of
the query object.
- Parameters:
rs - RowSet we're working throughrownum - row number (from 0) we're up toparameters - subclasses are rarely interested in this.
It can be null- Returns:
- an object of the result type
- Throws:
java.sql.SQLException - if there's an error extracting data.
Subclasses can simply fail to catch SQLExceptions.
Rod Johnson and Spring contributors 2001-2003.