private static RowMapper<?> getValueMapper(Type valueType, ConfigRegistry config) {
        String column = config.get(MapEntryMappers.class).getValueColumn();
        if (column == null) {
            return config.get(RowMappers.class)
                    .findFor(valueType)
                    .orElseThrow(() -> new NoSuchMapperException(format("Map value column is not declared (missing @ValueColumn annotation?) and no row mapper for value type '%s' is registered!", valueType)));
        } else {
            return config.get(ColumnMappers.class)
                    .findFor(valueType)
                    .map(mapper -> new SingleColumnMapper<>(mapper, column))
                    .orElseThrow(() -> new NoSuchMapperException(format("Type '%s' for map value column '%s' has no column mapper registered!", valueType, column)));
        }
    }
Maps rows to {@link Map.Entry Map.Entry&lt;K, V&gt;}, provided there are mappers registered for types K and V. This mapper is registered out of the box.

@param <K> entry key type
@param <V> entry value type
core/src/main/java/org/jdbi/v3/core/mapper/MapEntryMapper.java