类 UpdatableSqlQuery<T>
- java.lang.Object
- org.springframework.jdbc.object.RdbmsOperation
- org.springframework.jdbc.object.SqlOperation
- org.springframework.jdbc.object.SqlQuery<T>
- org.springframework.jdbc.object.UpdatableSqlQuery<T>
- 所有已实现的接口:
InitializingBean
public abstract class UpdatableSqlQuery<T> extends SqlQuery<T>
Reusable RDBMS query in which concrete subclasses must implement the abstract updateRow(ResultSet, int, context) method to update each row of the JDBC ResultSet and optionally map contents into an object.Subclasses can be constructed providing SQL, parameter types and a DataSource. SQL will often vary between subclasses.
- 作者:
- Thomas Risberg
- 另请参阅:
SqlQuery
嵌套类概要
嵌套类 修饰符和类型 类 说明 protected class
UpdatableSqlQuery.RowMapperImpl
Implementation of RowMapper that calls the enclosing class'supdateRow()
method for each row.
字段概要
从类继承的字段 org.springframework.jdbc.object.RdbmsOperation
logger
构造器概要
构造器 构造器 说明 UpdatableSqlQuery()
Constructor to allow use as a JavaBeanUpdatableSqlQuery(DataSource ds, String sql)
Convenient constructor with DataSource and SQL string.
方法概要
所有方法 实例方法 抽象方法 具体方法 修饰符和类型 方法 说明 protected RowMapper<T>
newRowMapper(Object[] parameters, Map<?,?> context)
Implementation of the superclass template method.protected abstract T
updateRow(ResultSet rs, int rowNum, Map<?,?> context)
Subclasses must implement this method to update each row of the ResultSet and optionally create object of the result type.从类继承的方法 org.springframework.jdbc.object.SqlQuery
execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, executeByNamedParam, executeByNamedParam, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObjectByNamedParam, findObjectByNamedParam, getRowsExpected, setRowsExpected
从类继承的方法 org.springframework.jdbc.object.SqlOperation
compileInternal, getParsedSql, newPreparedStatementCreator, newPreparedStatementCreator, newPreparedStatementSetter, onCompileInternal
从类继承的方法 org.springframework.jdbc.object.RdbmsOperation
afterPropertiesSet, allowsUnusedParameters, checkCompiled, compile, declareParameter, getDeclaredParameters, getGeneratedKeysColumnNames, getJdbcTemplate, getResultSetType, getSql, isCompiled, isReturnGeneratedKeys, isUpdatableResults, setDataSource, setFetchSize, setGeneratedKeysColumnNames, setJdbcTemplate, setMaxRows, setParameters, setQueryTimeout, setResultSetType, setReturnGeneratedKeys, setSql, setTypes, setUpdatableResults, supportsLobParameters, validateNamedParameters, validateParameters
构造器详细资料
UpdatableSqlQuery
public UpdatableSqlQuery()
Constructor to allow use as a JavaBean
UpdatableSqlQuery
public UpdatableSqlQuery(DataSource ds, String sql)
Convenient constructor with DataSource and SQL string.- 参数:
ds
- DataSource to use to get connectionssql
- SQL to run
方法详细资料
newRowMapper
protected RowMapper<T> newRowMapper(Object[] parameters, Map<?,?> context)
Implementation of the superclass template method. This invokes the subclass's implementation of theupdateRow()
method.- 指定者:
newRowMapper
在类中SqlQuery<T>
- 参数:
parameters
- the parameters to theexecute()
method, in case subclass is interested; may benull
if there were no parameters.context
- contextual information passed to themapRow
callback method. The JDBC operation itself doesn't rely on this parameter, but it can be useful for creating the objects of the result list.- 另请参阅:
SqlQuery.execute(java.lang.Object[], java.util.Map<?, ?>)
updateRow
protected abstract T updateRow(ResultSet rs, int rowNum, Map<?,?> context) throws SQLException
Subclasses must implement this method to update each row of the ResultSet and optionally create object of the result type.- 参数:
rs
- ResultSet we're working throughrowNum
- row number (from 0) we're up tocontext
- passed to the execute() method. It can benull
if no contextual information is need. If you need to pass in data for each row, you can pass in a HashMap with the primary key of the row being the key for the HashMap. That way it is easy to locate the updates for each row- 返回:
- an object of the result type
- 抛出:
SQLException
- if there's an error updateing data. Subclasses can simply not catch SQLExceptions, relying on the framework to clean up.