Class DataClassRowMapper<T>
- Type Parameters:
- T- the result type
- All Implemented Interfaces:
- RowMapper<T>
RowMapper implementation that converts a row into a new instance
 of the specified mapped target class. The mapped target class must be a
 top-level class or static nested class, and it may expose either a
 data class constructor with named parameters corresponding to column
 names or classic bean property setter methods with property names corresponding
 to column names (or even a combination of both).
 The term "data class" applies to Java records, Kotlin data classes, and any class which has a constructor with named parameters that are intended to be mapped to corresponding column names.
When combining a data class constructor with setter methods, any property mapped successfully via a constructor argument will not be mapped additionally via a corresponding setter method. This means that constructor arguments take precedence over property setter methods.
Note that this class extends BeanPropertyRowMapper and can
 therefore serve as a common choice for any mapped target class, flexibly
 adapting to constructor style versus setter methods in the mapped class.
 
Please note that this class is designed to provide convenience rather than
 high performance. For best performance, consider using a custom RowMapper
 implementation.
- Since:
- 5.3
- Author:
- Juergen Hoeller, Sam Brannen
- See Also:
- 
Field SummaryFields inherited from class org.springframework.jdbc.core.BeanPropertyRowMapperlogger
- 
Constructor SummaryConstructorsConstructorDescriptionCreate a newDataClassRowMapperfor bean-style configuration.DataClassRowMapper(Class<T> mappedClass) Create a newDataClassRowMapper.
- 
Method SummaryModifier and TypeMethodDescriptionprotected TConstruct an instance of the mapped class for the current row.protected voidinitialize(Class<T> mappedClass) Initialize the mapping meta-data for the given class.static <T> DataClassRowMapper<T>newInstance(Class<T> mappedClass) Static factory method to create a newDataClassRowMapper.static <T> DataClassRowMapper<T>newInstance(Class<T> mappedClass, ConversionService conversionService) Static factory method to create a newDataClassRowMapper.Methods inherited from class org.springframework.jdbc.core.BeanPropertyRowMappergetColumnValue, getColumnValue, getConversionService, getMappedClass, initBeanWrapper, isCheckFullyPopulated, isPrimitivesDefaultedForNullValue, lowerCaseName, mappedNames, mapRow, setCheckFullyPopulated, setConversionService, setMappedClass, setPrimitivesDefaultedForNullValue, suppressProperty, underscoreName
- 
Constructor Details- 
DataClassRowMapperpublic DataClassRowMapper()Create a newDataClassRowMapperfor bean-style configuration.
- 
DataClassRowMapperCreate a newDataClassRowMapper.- Parameters:
- mappedClass- the class that each row should be mapped to
 
 
- 
- 
Method Details- 
initializeDescription copied from class:BeanPropertyRowMapperInitialize the mapping meta-data for the given class.- Overrides:
- initializein class- BeanPropertyRowMapper<T>
- Parameters:
- mappedClass- the mapped class
- See Also:
 
- 
constructMappedInstanceDescription copied from class:BeanPropertyRowMapperConstruct an instance of the mapped class for the current row.- Overrides:
- constructMappedInstancein class- BeanPropertyRowMapper<T>
- Parameters:
- rs- the ResultSet to map (pre-initialized for the current row)
- tc- a TypeConverter with this RowMapper's conversion service
- Returns:
- a corresponding instance of the mapped class
- Throws:
- SQLException- if an SQLException is encountered
 
- 
newInstanceStatic factory method to create a newDataClassRowMapper.- Parameters:
- mappedClass- the class that each row should be mapped to
- See Also:
 
- 
newInstancepublic static <T> DataClassRowMapper<T> newInstance(Class<T> mappedClass, @Nullable ConversionService conversionService) Static factory method to create a newDataClassRowMapper.- Parameters:
- mappedClass- the class that each row should be mapped to
- conversionService- the- ConversionServicefor binding JDBC values to bean properties, or- nullfor none
- See Also:
 
 
-