跳到主要内容

类型映射和处理

如果一个 int 类型的 Java 属性映射到数据库的 int 类型上,对于这个属性类型映射而言将会有三个重要的参数:

  • ➊ 属性所使用的 Java 类型。
  • ➋ 属性映射列的 JDBC 类型。
  • ➌ 用于数据读写的类型处理器。
@Table
public class Users {
@Column(➋ jdbcType = java.sql.Types.TINYINT, ➌ typeHandler = IntegerTypeHandler.class)
privateInteger id;
}
信息

在大部分情况下都无需操心 jdbcType 和 typeHandler 参数框架会根据其 Java 类型来自动选择。

处理抽象类型

@Table
public class Users {
@Column(specialJavaType = Integer.class)
private Number counter;
}

处理枚举类型

@Table
public class Users {
@Column
private UserTypeEnum type; // 框架自动兼容,无需特殊处理
}

处理 JSON 序列化

@Table
public class Users {
@Column(typeHandler = net.hasor.dbvisitor.types.handler.json.JsonTypeHandler)
private UserExtInfo moreInfo; // 属性会使用 JSON 结构进行序列化/反序列化
}

使用自定义类型处理器

public class User {
@Column(typeHandler = MyDateTypeHandler.class)
private String myTime;
}