47945b245d
- 说明所有业务实体必须继承的标准字段 - 包含字段类型、填充时机、数据库映射说明 - 提供 Java 和 SQL 使用示例
2.2 KiB
2.2 KiB
BaseEntity 字段说明
适用范围:所有业务实体必须继承
BaseEntity,包含框架自动维护的标准字段。
类定义
package com.rui.common.mybatis.model;
public class BaseEntity implements Serializable {
// ...
}
字段列表
| 字段名 | 类型 | 说明 | 填充时机 | 数据库字段 |
|---|---|---|---|---|
id |
Long |
主键ID,使用雪花算法生成 | 插入时自动填充 | id |
tenantId |
Long |
租户ID,0 表示系统级 |
插入时自动填充 | tenant_id |
deleted |
Integer |
逻辑删除标志,0 正常,1 已删除 |
插入时自动填充 | deleted |
createdBy |
Long |
创建者ID | 插入时自动填充 | created_by |
createdAt |
LocalDateTime |
创建时间 | 插入时自动填充 | created_at |
updatedBy |
Long |
更新者ID | 插入/更新时自动填充 | updated_by |
updatedAt |
LocalDateTime |
更新时间 | 插入/更新时自动填充 | updated_at |
注解说明
@TableId(type = IdType.ASSIGN_ID)— 使用雪花算法分配 ID@TableLogic— 逻辑删除字段,MyBatis Plus 自动处理删除逻辑@TableField(fill = FieldFill.INSERT)— 插入时自动填充@TableField(fill = FieldFill.INSERT_UPDATE)— 插入/更新时自动填充
使用示例
@Data
public class User extends BaseEntity {
private String username;
private String email;
// 无需定义 id、createdAt 等公共字段
}
数据库建表示例
CREATE TABLE sys_user (
id BIGINT PRIMARY KEY COMMENT '主键ID(雪花算法)',
username VARCHAR(100) NOT NULL COMMENT '用户名',
email VARCHAR(100) COMMENT '邮箱',
-- 公共字段(由 BaseEntity + MyBatis Plus 自动维护)
tenant_id BIGINT DEFAULT 0 COMMENT '租户ID',
deleted TINYINT DEFAULT 0 COMMENT '逻辑删除(0-正常,1-已删)',
created_by BIGINT COMMENT '创建者ID',
created_at DATETIME COMMENT '创建时间',
updated_by BIGINT COMMENT '更新者ID',
updated_at DATETIME COMMENT '更新时间'
) COMMENT='用户表';
注意:所有业务表必须包含以上公共字段。