net.hasor.jdbc.core.mapper
类 SingleColumnRowMapper<T>

java.lang.Object
  继承者 net.hasor.jdbc.core.mapper.SingleColumnRowMapper<T>
所有已实现的接口:
RowMapper<T>

public class SingleColumnRowMapper<T>
extends Object
implements RowMapper<T>

RowMapper implementation that converts a single column into a single result value per row. Expects to operate on a java.sql.ResultSet that just contains a single column.

The type of the result value for each row can be specified. The value for the single column will be extracted from the ResultSet and converted into the specified target type.

从以下版本开始:
1.2
作者:
Juergen Hoeller
另请参见:
JdbcTemplate.queryForList(String, Class), JdbcTemplate.queryForObject(String, Class)

构造方法摘要
SingleColumnRowMapper()
          Create a new SingleColumnRowMapper.
SingleColumnRowMapper(Class<T> requiredType)
          Create a new SingleColumnRowMapper.
 
方法摘要
protected  Object convertValueToRequiredType(Object value, Class requiredType)
          Convert the given column value to the specified required type.
protected  Object getColumnValue(ResultSet rs, int index)
          Retrieve a JDBC object value for the specified column, using the most appropriate value type.
protected  Object getColumnValue(ResultSet rs, int index, Class requiredType)
          Retrieve a JDBC object value for the specified column.
 T mapRow(ResultSet rs, int rowNum)
          Extract a value for the single column in the current row.
 void setRequiredType(Class<T> requiredType)
          Set the type that each result object is expected to match.
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

SingleColumnRowMapper

public SingleColumnRowMapper()
Create a new SingleColumnRowMapper.

另请参见:
setRequiredType(java.lang.Class)

SingleColumnRowMapper

public SingleColumnRowMapper(Class<T> requiredType)
Create a new SingleColumnRowMapper.

参数:
requiredType - the type that each result object is expected to match
方法详细信息

setRequiredType

public void setRequiredType(Class<T> requiredType)
Set the type that each result object is expected to match.

If not specified, the column value will be exposed as returned by the JDBC driver.


mapRow

public T mapRow(ResultSet rs,
                int rowNum)
         throws SQLException
Extract a value for the single column in the current row.

Validates that there is only one column selected, then delegates to getColumnValue() and also convertValueToRequiredType, if necessary.

指定者:
接口 RowMapper<T> 中的 mapRow
抛出:
SQLException
另请参见:
ResultSetMetaData.getColumnCount(), getColumnValue(java.sql.ResultSet, int, Class), convertValueToRequiredType(Object, Class)

getColumnValue

protected Object getColumnValue(ResultSet rs,
                                int index,
                                Class requiredType)
                         throws SQLException
Retrieve a JDBC object value for the specified column.

The default implementation calls JdbcUtils.getResultSetValue(java.sql.ResultSet, int, Class). If no required type has been specified, this method delegates to getColumnValue(rs, index), which basically calls ResultSet.getObject(index) but applies some additional default conversion to appropriate value types.

参数:
rs - is the ResultSet holding the data
index - is the column index
requiredType - the type that each result object is expected to match (or null if none specified)
返回:
the Object value
抛出:
SQLException - in case of extraction failure
另请参见:
net.hasor.jdbc.jdbc.core.util.support.noe.platform.modules.db.jdbcorm.jdbc.support.JdbcUtils#getResultSetValue(java.sql.ResultSet, int, Class), getColumnValue(java.sql.ResultSet, int)

getColumnValue

protected Object getColumnValue(ResultSet rs,
                                int index)
                         throws SQLException
Retrieve a JDBC object value for the specified column, using the most appropriate value type. Called if no required type has been specified.

The default implementation delegates to JdbcUtils.getResultSetValue(), which uses the ResultSet.getObject(index) method. Additionally, it includes a "hack" to get around Oracle returning a non-standard object for their TIMESTAMP datatype. See the JdbcUtils#getResultSetValue() javadoc for details.

参数:
rs - is the ResultSet holding the data
index - is the column index
返回:
the Object value
抛出:
SQLException - in case of extraction failure
另请参见:
net.hasor.jdbc.jdbc.core.util.support.noe.platform.modules.db.jdbcorm.jdbc.support.JdbcUtils#getResultSetValue(java.sql.ResultSet, int)

convertValueToRequiredType

protected Object convertValueToRequiredType(Object value,
                                            Class requiredType)
Convert the given column value to the specified required type. Only called if the extracted column value does not match already.

If the required type is String, the value will simply get stringified via toString(). In case of a Number, the value will be converted into a Number, either through number conversion or through String parsing (depending on the value type).

参数:
value - the column value as extracted from getColumnValue() (never null)
requiredType - the type that each result object is expected to match (never null)
返回:
the converted value
另请参见:
getColumnValue(java.sql.ResultSet, int, Class)


Copyright © 2013-2014. All Rights Reserved.