public class JbaBeanPropertyRowMapper<T> extends Object implements org.springframework.jdbc.core.RowMapper<T>
| 限定符和类型 | 字段和说明 |
|---|---|
protected org.apache.commons.logging.Log |
logger
Logger available to subclasses
|
protected static LinkedHashMap<Class,JbaBeanPropertyRowMapper> |
RowMapper_CACHE |
| 构造器和说明 |
|---|
JbaBeanPropertyRowMapper(Class<T> mappedClass)
Create a new
BeanPropertyRowMapper, accepting unpopulated
properties in the target bean. |
JbaBeanPropertyRowMapper(Class<T> mappedClass,
boolean checkFullyPopulated)
Create a new
BeanPropertyRowMapper. |
| 限定符和类型 | 方法和说明 |
|---|---|
protected Object |
getColumnValue(ResultSet rs,
int index,
PropertyDescriptor pd)
Retrieve a JDBC object value for the specified column.
|
org.springframework.core.convert.ConversionService |
getConversionService()
Return a
ConversionService for binding JDBC values to bean properties,
or null if none. |
Class<T> |
getMappedClass()
Get the class that we are mapping to.
|
protected void |
initBeanWrapper(org.springframework.beans.BeanWrapper bw)
Initialize the given BeanWrapper to be used for row mapping.
|
protected void |
initialize(Class<T> mappedClass)
Initialize the mapping meta-data for the given class.
|
boolean |
isCheckFullyPopulated()
Return whether we're strictly validating that all bean properties have been
mapped from corresponding database fields.
|
boolean |
isPrimitivesDefaultedForNullValue()
Return whether we're defaulting Java primitives in the case of mapping a null value
from corresponding database fields.
|
protected String |
lowerCaseName(String name)
Convert the given name to lower case.
|
T |
mapRow(ResultSet rs,
int rowNumber)
Extract the values for all columns in the current row.
|
static <T> org.springframework.jdbc.core.BeanPropertyRowMapper<T> |
newInstance(Class<T> mappedClass)
Static factory method to create a new
BeanPropertyRowMapper
(with the mapped class specified only once). |
void |
setCheckFullyPopulated(boolean checkFullyPopulated)
Set whether we're strictly validating that all bean properties have been mapped
from corresponding database fields.
|
void |
setConversionService(org.springframework.core.convert.ConversionService conversionService)
Set a
ConversionService for binding JDBC values to bean properties,
or null for none. |
void |
setMappedClass(Class<T> mappedClass)
Set the class that each row should be mapped to.
|
void |
setPrimitivesDefaultedForNullValue(boolean primitivesDefaultedForNullValue)
Set whether we're defaulting Java primitives in the case of mapping a null value
from corresponding database fields.
|
protected String |
underscoreName(String name)
Convert a name in camelCase to an underscored name in lower case.
|
protected static final LinkedHashMap<Class,JbaBeanPropertyRowMapper> RowMapper_CACHE
protected final org.apache.commons.logging.Log logger
public JbaBeanPropertyRowMapper(Class<T> mappedClass)
BeanPropertyRowMapper, accepting unpopulated
properties in the target bean.
Consider using the newInstance(java.lang.Class<T>) factory method instead,
which allows for specifying the mapped type once only.
mappedClass - the class that each row should be mapped topublic JbaBeanPropertyRowMapper(Class<T> mappedClass, boolean checkFullyPopulated)
BeanPropertyRowMapper.mappedClass - the class that each row should be mapped tocheckFullyPopulated - whether we're strictly validating that
all bean properties have been mapped from corresponding database fieldspublic static <T> org.springframework.jdbc.core.BeanPropertyRowMapper<T> newInstance(Class<T> mappedClass)
BeanPropertyRowMapper
(with the mapped class specified only once).mappedClass - the class that each row should be mapped topublic void setMappedClass(Class<T> mappedClass)
public boolean isCheckFullyPopulated()
public void setCheckFullyPopulated(boolean checkFullyPopulated)
Default is false, accepting unpopulated properties in the target bean.
public boolean isPrimitivesDefaultedForNullValue()
public void setPrimitivesDefaultedForNullValue(boolean primitivesDefaultedForNullValue)
Default is false, throwing an exception when nulls are mapped to Java primitives.
public org.springframework.core.convert.ConversionService getConversionService()
ConversionService for binding JDBC values to bean properties,
or null if none.public void setConversionService(org.springframework.core.convert.ConversionService conversionService)
ConversionService for binding JDBC values to bean properties,
or null for none.
Default is a DefaultConversionService, as of Spring 4.3. This
provides support for java.time conversion and other special types.
initBeanWrapper(BeanWrapper)protected void initialize(Class<T> mappedClass)
mappedClass - the mapped classprotected String underscoreName(String name)
name - the original namelowerCaseName(java.lang.String)protected String lowerCaseName(String name)
name - the original namepublic T mapRow(ResultSet rs, int rowNumber) throws SQLException
Utilizes public setters and result set meta-data.
mapRow 在接口中 org.springframework.jdbc.core.RowMapper<T>SQLExceptionResultSetMetaDataprotected void initBeanWrapper(org.springframework.beans.BeanWrapper bw)
The default implementation applies the configured ConversionService,
if any. Can be overridden in subclasses.
bw - the BeanWrapper to initializegetConversionService(),
ConfigurablePropertyAccessor.setConversionService(org.springframework.core.convert.ConversionService)protected Object getColumnValue(ResultSet rs, int index, PropertyDescriptor pd) throws SQLException
The default implementation calls
JdbcUtils.getResultSetValue(java.sql.ResultSet, int, Class).
Subclasses may override this to check specific value types upfront,
or to post-process values return from getResultSetValue.
rs - is the ResultSet holding the dataindex - is the column indexpd - the bean property that each result object is expected to matchSQLException - in case of extraction failureJdbcUtils.getResultSetValue(java.sql.ResultSet, int, Class)Copyright © 2019. All rights reserved.