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

Fields inherited from class com.interface21.jdbc.object.RdbmsOperation
logger
 
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.MappingSqlQueryWithParameters
newResultReader
 
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.SqlOperation
compileInternal, getJdbcTemplate, newPreparedStatementCreator
 
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
 

Constructor Detail

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 connections
sql - SQL to run
Method Detail

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 through
rownum - row number (from 0) we're up to
parameters - 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.