Skip to main content
Hint

This article is generated by AI translation.

Table Mapping

Example 1: class name as table name (default)
@Table
public class Users { // 映射为 Users 表
private Integer id; // 映射为 id 列
private String name; // 映射为 name 列
private Integer age; // 映射为 age 列

// getters and setters omitted
}
Example 2: specify table name
@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
}
Example 3: specify 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
}
Example 4: annotation-only mapping
@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
}
Example 5: ignore a property
@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 attributes

AttributeDescription
catalog可选 Catalog name. Default empty.
schema可选 Schema name. Default empty.
table可选 Table name; defaults to class name when empty.
Tip: value is equivalent; when all defaults are used you can omit the attribute name as in example 3.
value可选 Same as table; defaults to class name when empty.
Tip: value is equivalent; when all defaults are used you can omit the attribute name as in example 3.
autoMapping可选 Auto mapping on by default. When false, every mapped column must be annotated with @Column.
useDelimited可选 Wrap table/column names in delimiters to handle reserved words. Default false.
caseInsensitive可选 Case-insensitive table/column names when true (default). Applies when reading result sets.
mapUnderscoreToCamelCase可选 Convert camel-case names to underscore in table/column names. Off by default.
ddlAuto可选 Auto DDL mode: none, create, add, update, create-drop (auto DDL not yet supported).

@Column 注解属性

AttributeDescription
name可选 Column name; defaults to the property name.
value可选 Column name; defaults to the property name.
jdbcType可选 jdbcType to use; default is Types.JAVA_OBJECT.
specialJavaType可选 For abstract properties, specify the concrete implementation type.
typeHandler可选 TypeHandler to read/write the column.
keyType可选 Applies to Fluent API. Data generator when the value is null. See Key generator.
primary可选 Whether this is a primary key. Default false.
insert可选 For Fluent API: whether to include in insert. See Write policy.
update可选 For Fluent API: whether to include in update. See Write policy.
selectTemplate可选 For Fluent API: column expression in SELECT. Empty = column name. See Statement templates.
insertTemplate可选 For Fluent API: argument expression in INSERT, default ?. See Statement templates.
setValueTemplate可选 For Fluent API: argument expression in UPDATE SET, default ?. See Statement templates.
whereColTemplate可选 For Fluent API: column expression in WHERE (update/delete). Empty = column name. See Statement templates.
whereValueTemplate可选 For Fluent API: argument expression in WHERE (update/delete), default ?. See Statement templates.
orderByColTemplate可选 For Fluent API: column expression in ORDER BY. Empty = column name. See Statement templates.