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.
SimplePropertyRowMapper
| Modifier and Type | Field and Description |
|---|---|
| private String[] | |
| private TypeDescriptor[] | |
| private Constructor |
| Access | Constructor and Description |
|---|---|
| public | |
| public | DataClassRowMapper(Class<T>
the class that each row should be mapped to mappedClass)Create a new |
| Modifier and Type | Method and Description |
|---|---|
| protected T | constructMappedInstance(ResultSet
the ResultSet to map (pre-initialized for the current row) rs, TypeConverter a TypeConverter with this RowMapper's conversion service tc)Overrides org. Construct an instance of the mapped class for the current row. |
| protected void | initialize(Class<T>
the mapped class mappedClass)Overrides org. Initialize the mapping meta-data for the given class. |
| public static <T> DataClassRowMapper | newInstance(Class<T>
the class that each row should be mapped to mappedClass)Hides org. Static factory method to create a new |
| public static <T> DataClassRowMapper | newInstance(Class<T>
the class that each row should be mapped to mappedClass, ConversionService the conversionService)ConversionService for binding
JDBC values to bean properties, or null for noneHides org. Static factory method to create a new |
| constructorParameterNames | back to summary |
|---|---|
| private String[] constructorParameterNames
| |
| constructorParameterTypes | back to summary |
|---|---|
| private TypeDescriptor[] constructorParameterTypes
| |
| mappedConstructor | back to summary |
|---|---|
| private Constructor<T> mappedConstructor
| |
| DataClassRowMapper | back to summary |
|---|---|
| public DataClassRowMapper() Create a new
| |
| DataClassRowMapper | back to summary |
|---|---|
| public DataClassRowMapper(Class<T> mappedClass) Create a new
| |
| constructMappedInstance | back to summary |
|---|---|
| protected T constructMappedInstance(ResultSet rs, TypeConverter tc) throws SQLException Overrides org. Doc from org. Construct an instance of the mapped class for the current row.
| |
| initialize | back to summary |
|---|---|
| protected void initialize(Class<T> mappedClass) Overrides org. Doc from org. Initialize the mapping meta-data for the given class. | |
| newInstance | back to summary |
|---|---|
| public static <T> DataClassRowMapper Hides org. Static factory method to create a new
| |
| newInstance | back to summary |
|---|---|
| public static <T> DataClassRowMapper Hides org. Static factory method to create a new
| |