private static RowMapper<?> getKeyMapper(Type keyType, ConfigRegistry config) {
        String column = config.get(MapEntryMappers.class).getKeyColumn();
        if (column == null) {
            return config.get(RowMappers.class)
                    .findFor(keyType)
                    .orElseThrow(() -> new NoSuchMapperException(format("Map key column is not declared (missing @KeyColumn annotation?) and no row mapper for key type '%s' is registered!", keyType)));
        } else {
            return config.get(ColumnMappers.class)
                    .findFor(keyType)
                    .map(mapper -> new SingleColumnMapper<>(mapper, column))
                    .orElseThrow(() -> new NoSuchMapperException(format("Type '%s' for map key column '%s' has no column mapper registered!", keyType, 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