org.springframework.jdbc.object
Class MappingSqlQueryWithParameters

org.springframework.jdbc.object.RdbmsOperation
  |
  +--org.springframework.jdbc.object.SqlOperation
        |
        +--org.springframework.jdbc.object.SqlQuery
              |
              +--org.springframework.jdbc.object.MappingSqlQueryWithParameters
Direct Known Subclasses:
MappingSqlQuery

public abstract class MappingSqlQueryWithParameters
extends SqlQuery

Reusable RDBMS query in which concrete subclasses must implement the abstract mapRow(ResultSet, int) method to map each row of the JDBC ResultSet into an object.

Such manual mapping is usually preferable to "automatic" mapping using reflection, which can become complex in non-trivial cases. For example, the present class allows different objects to be used for different rows (for example, if a subclass is indicated). It allows computed fields to be set. And there's no need for ResultSet columns to have the same names as bean properties. The Pareto Principle in action: going the extra mile to automate the extraction process makes the framework much more complex and delivers little real benefit.

Subclasses can be constructed providing SQL, parameter types and a DataSource. SQL will often vary between subclasses.

Author:
Rod Johnson, Thomas Risberg, Jean-Pierre Pawlak
See Also: MappingSqlQuery, SqlQuery

Constructor Summary
MappingSqlQueryWithParameters()
          Constructor to allow use as a JavaBean
MappingSqlQueryWithParameters(DataSource ds, String sql)
          Convenient constructor with DataSource and SQL string.

Methods inherited from class org.springframework.jdbc.object.SqlQuery
execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObject, getRowsExpected, setRowsExpected

Methods inherited from class org.springframework.jdbc.object.RdbmsOperation
afterPropertiesSet, compile, declareParameter, getSql, isCompiled, setDataSource, setJdbcTemplate, setSql, setTypes

Constructor Detail

MappingSqlQueryWithParameters

public MappingSqlQueryWithParameters()
Constructor to allow use as a JavaBean

MappingSqlQueryWithParameters

public MappingSqlQueryWithParameters(DataSource ds, String sql)
Convenient constructor with DataSource and SQL string.
Parameters:
ds - DataSource to use to get connections
sql - SQL to run