Package org.jdbi.v3.core.mapper
Class GenericMapMapperFactory
java.lang.Object
org.jdbi.v3.core.mapper.GenericMapMapperFactory
- All Implemented Interfaces:
RowMapperFactory
Factory for a RowMapper that can map resultset rows to column name/generic value
Maps.
Each row in the resultset becomes a distinct Map, in which the keys are all distinct column names and the values are the corresponding cell contents.
All values are mapped to the same generic type T (e.g. BigDecimal) by a ColumnMapper from the ConfigRegistry.
This differs from MapMapper by supporting a concrete type instead of only Object, and from collecting into a Map
in that the latter maps an entire resultset to a single Map and can only keep 1 key and 1 value from each row.
Use cases for this are mainly single-row results like numeric reports (e.g. the price components,
taxes, etc of a product for sale, or a set of possible labeled values for a user setting), and matrices.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild(Type mapType, ConfigRegistry config) Supplies a row mapper which will map result set rows to type if the factory supports it; empty otherwise.getMapperForValueType(Class<T> valueType, ConfigRegistry config) getMapperForValueType(GenericType<T> valueType, ConfigRegistry config)
-
Constructor Details
-
GenericMapMapperFactory
public GenericMapMapperFactory()
-
-
Method Details
-
build
Description copied from interface:RowMapperFactorySupplies a row mapper which will map result set rows to type if the factory supports it; empty otherwise.- Specified by:
buildin interfaceRowMapperFactory- Parameters:
mapType- the target type to map toconfig- the config registry, for composition- Returns:
- a row mapper for the given type if this factory supports it;
Optional.empty()otherwise. - See Also:
-
getMapperForValueType
-
getMapperForValueType
@Beta public static <T> RowMapper<Map<String,T>> getMapperForValueType(GenericType<T> valueType, ConfigRegistry config)
-