Class BeanMapper<T>

java.lang.Object
org.jdbi.v3.core.mapper.reflect.internal.PojoMapper<T>
org.jdbi.v3.core.mapper.reflect.BeanMapper<T>
All Implemented Interfaces:
RowMapper<T>

public class BeanMapper<T> extends PojoMapper<T>
A row mapper which maps the columns in a statement into a JavaBean. The default implementation will perform a case insensitive mapping between the bean property names and the column labels, also considering camel-case to underscores conversion. This uses the JDK's built in bean mapping facilities, so it does not support nested properties. The mapped class must have a default constructor.
  • Method Details

    • factory

      public static RowMapperFactory factory(Class<?> type)
      Returns a mapper factory that maps to the given bean class
      Parameters:
      type - the mapped class
      Returns:
      a mapper factory that maps to the given bean class
    • factory

      public static RowMapperFactory factory(Class<?> type, String prefix)
      Returns a mapper factory that maps to the given bean class
      Parameters:
      type - the mapped class
      prefix - the column name prefix for each mapped bean property
      Returns:
      a mapper factory that maps to the given bean class
    • of

      public static <T> RowMapper<T> of(Class<T> type)
      Returns a mapper for the given bean class
      Type Parameters:
      T - the type to find the mapper for
      Parameters:
      type - the mapped class
      Returns:
      a mapper for the given bean class
    • of

      public static <T> RowMapper<T> of(Class<T> type, String prefix)
      Returns a mapper for the given bean class
      Type Parameters:
      T - the type to find the mapper for
      Parameters:
      type - the mapped class
      prefix - the column name prefix for each mapped bean property
      Returns:
      a mapper for the given bean class
    • getProperties

      protected PojoProperties<T> getProperties(ConfigRegistry config)
      Overrides:
      getProperties in class PojoMapper<T>
    • createNestedMapper

      protected BeanMapper<?> createNestedMapper(StatementContext ctx, PojoProperties.PojoProperty<T> property, String nestedPrefix)
      Overrides:
      createNestedMapper in class PojoMapper<T>