Skip to main content

映射表

例1:默认情况下类名即为表名
@Table
public class Users { // 映射为 Users 表
private Integer id; // 映射为 id 列
private String name; // 映射为 name 列
private Integer age; // 映射为 age 列

// getters and setters omitted
}
例2:使用特定名称
@Table("admin_users")
public class AdminUsers { // 表名映射为 admin_users 表
private Integer id; // 映射为 id 列
private String name; // 映射为 name 列
private Integer age; // 映射为 age 列
@Column("create_time")
private Date createTime; // 映射为 create_time 列

// getters and setters omitted
}
例3:指定 catalog/schema 信息
@Table(catalog = "co", 
schema = "example",
table = "admin_users")
public class AdminUsers { // 表名映射为 co.example.admin_users
private Integer id; // 映射为 id 列
private String name; // 映射为 name 列
private Integer age; // 映射为 age 列

// getters and setters omitted
}
例4:按照注解进行精确映射
@Table(table = "admin_users", autoMapping = false)
public class AdminUsers { // 表名映射为 admin_users
private Integer id; // 不映射
private String name; // 不映射
@Column
private Integer age; // 映射为 age 列
@Column("create_time")
private Date createTime; // 映射为 create_time 列

// getters and setters omitted
}
例5:忽略某个属性的列映射
@Table(table = "admin_users")
public class AdminUsers { // 表名映射为 admin_users
private Integer id; // 映射为 id 列
private String name; // 映射为 name 列
private Integer age; // 映射为 age 列
@Ignore
private Date modifyTime; // 忽略到列的映射
}

@Table 注解属性

属性名描述
catalog可选 映射的 catalog 名,默认值为:空。
schema可选 映射的 schema 名,默认值为:空。
table可选 映射的 table,为空的话表示采用类名为表名,默认为:空。
- 提示:value 属性和 table 具有同等效力,当所有属性都采用默认值时候可以利用 例3 方式省略属性名。
value可选 映射的 table,为空的话表示采用类名为表名,默认为:空。
- 提示:value 属性和 table 具有同等效力,当所有属性都采用默认值时候可以利用 例3 方式省略属性名。
autoMapping可选 自动映射,默认为 true 表示使用自动映射。当设置为 false 后所有列的映射必须通过 @Column 注解声明。
useDelimited可选 会在生成的 SQL 语句中使用限定符将表或列的名称包裹起来,用于处理关键字为名称的情况。默认为 false 表示不使用限定符。
caseInsensitive可选 是否对表名列名敏感,默认 true 不敏感。该属性作用于获取查询结果时。
mapUnderscoreToCamelCase可选 表名和属性名,根据驼峰规则转换为带有下划线的表名和列名,默认不启用。
ddlAuto可选 自动建表方式,可选值范围:none、create、add、update、create-drop(目前还不支持自动建表)

@Column 注解属性

属性名描述
name可选 列名,为空的话表示采用属性名为列名。
value可选 列名,为空的话表示采用属性名为列名。
jdbcType可选 指定使用的 jdbcType,默认值为:Types.JAVA_OBJECT
specialJavaType可选 如果属性是一个抽象类型,那么可以通过 specialJavaType 来指定具体的实现类。
typeHandler可选 指定使用的 typeHandler 处理类型的读写
keyType可选 仅对 构造器 API 有效。表示当属性值为 null 时所采用的数据生成算法。详细请了解 主键生成器
primary可选 是否为主键,默认为 false,表示不是主键
insert可选 仅对 构造器 API 有效。表示当在 insert 操作时是否参与新增。详细请了解 写入策略
update可选 仅对 构造器 API 有效。表示当在 update 操作时是否参与新增。详细请了解 写入策略
selectTemplate可选 仅对 构造器 API 有效。当用作 select 语句时列名的写法。默认是空,表示列名本身。详细请了解 语句模版
insertTemplate可选 仅对 构造器 API 有效。当用作 insert 语句时参数写法,默认是 ?。详细请了解 语句模版
setColTemplate可选 仅对 构造器 API 有效。当用作 update 的 set 语句时列名的写法。默认是空,表示列名本身。详细请了解 语句模版
setValueTemplate可选 仅对 构造器 API 有效。当用作 update set 语句时参数写法,默认是 ?。详细请了解 语句模版
whereColTemplate可选 仅对 构造器 API 有效。当用作 update/delete 的 where 语句时列名的写法。默认是空,表示列名本身。详细请了解 语句模版
whereValueTemplate可选 仅对 构造器 API 有效。当用作 update/delete 的 where 语句时参数写法,默认是 ?。详细请了解 语句模版
groupByColTemplate可选 仅对 构造器 API 有效。当用作 group by 语句时列名的写法。默认是空,表示列名本身。详细请了解 语句模版
orderByColTemplate可选 仅对 构造器 API 有效。当用作 order by 语句时列名的写法。默认是空,表示列名本身。详细请了解 语句模版