Class DefaultBeanRowMapper<T>

java.lang.Object
xyz.zhouxy.jdbc.DefaultBeanRowMapper<T>
All Implemented Interfaces:
RowMapper<T>

public class DefaultBeanRowMapper<T> extends Object implements RowMapper<T>
DefaultBeanRowMapper

默认实现的将 ResultSet 转换为 Java Bean 的 RowMapper

说明:

  • 使用反射获取类型信息,也是使用反射调用无参构造器和 setter 方法。
  • propertyColMap 未指定的列名和属性名的映射时,默认 JavaBean 的属性名为小驼峰,列名为小写蛇形命名。
  • ResultSet 中获取属性值时,使用 ResultSet.getObject(String, Class) 获取。
  • JavaBean 属性仅支持引用类型,不支持基本数据类型。
  • 实际使用中还是建议针对目标类型自定义 RowMapper
Since:
1.0.0
Author:
ZhouXY
  • Method Details

    • of

      public static <T> DefaultBeanRowMapper<T> of(Class<T> beanType) throws SQLException
      创建一个 DefaultBeanRowMapper
      Type Parameters:
      T - Bean 类型
      Parameters:
      beanType - Bean 类型
      Returns:
      DefaultBeanRowMapper 对象
      Throws:
      SQLException - 创建 DefaultBeanRowMapper 出现错误的异常时抛出
    • of

      public static <T> DefaultBeanRowMapper<T> of(Class<T> beanType, @Nullable Map<String,String> propertyColMap) throws SQLException
      创建一个 DefaultBeanRowMapper
      Type Parameters:
      T - Bean 类型
      Parameters:
      beanType - Bean 类型
      propertyColMap - Bean 字段与列名的映射关系。key 是字段,value 是列名。
      Returns:
      DefaultBeanRowMapper 对象
      Throws:
      SQLException - 创建 DefaultBeanRowMapper 出现错误的异常时抛出
    • mapRow

      public T mapRow(ResultSet rs, int rowNumber) throws SQLException
      Specified by:
      mapRow in interface RowMapper<T>
      Throws:
      SQLException