diff --git a/docs/统一开发规范.md b/docs/统一开发规范.md index d923655..d3326ce 100644 --- a/docs/统一开发规范.md +++ b/docs/统一开发规范.md @@ -1298,7 +1298,7 @@ CREATE TABLE t_user_role ( -- ✅ 推荐:不使用外键约束 CREATE TABLE t_user_role ( - id BIGINT PRIMARY KEY COMMENT '主键 ID(雪花算法)', + id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键 ID(数据库自增)', user_id BIGINT NOT NULL COMMENT '用户 ID', role_id BIGINT NOT NULL COMMENT '角色 ID', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', @@ -1452,14 +1452,14 @@ t_{实体 A}_{实体 B} public class ClassTeacher { @Schema(description = "ID", accessMode = Schema.AccessMode.READ_ONLY) - @TableId(type = IdType.ASSIGN_ID) - private String id; + @TableId(type = IdType.AUTO) + private Long id; @Schema(description = "班级 ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String classId; + private Long classId; @Schema(description = "教师 ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String teacherId; + private Long teacherId; // === 业务属性字段 === @Schema(description = "角色", example = "teacher", requiredMode = Schema.RequiredMode.REQUIRED) @@ -1490,16 +1490,9 @@ public class ParentStudentMapping { } // 冗余 #### 5. 主键策略 ```java -// 推荐:使用 ASSIGN_ID(雪花算法)- 适用于有业务属性的中间表 -@TableId(type = IdType.ASSIGN_ID) -private String id; - -// 或:使用复合主键(适用于纯关联表,无业务属性) -@TableId -private String parentId; - -@TableId -private String studentId; +// 推荐:使用 AUTO_INCREMENT(数据库自增)- 适用于所有表 +@TableId(type = IdType.AUTO) +private Long id; ``` #### 6. 唯一索引约束 @@ -1548,9 +1541,9 @@ CREATE UNIQUE INDEX uk_class_teacher ON t_class_teacher(class_id, teacher_id); **表结构:** ```sql CREATE TABLE t_parent_student ( - id VARCHAR(32) PRIMARY KEY COMMENT '主键 ID(雪花算法)', - parent_id VARCHAR(32) NOT NULL COMMENT '家长 ID', - student_id VARCHAR(32) NOT NULL COMMENT '学生 ID', + id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键 ID(数据库自增)', + parent_id BIGINT NOT NULL COMMENT '家长 ID', + student_id BIGINT NOT NULL COMMENT '学生 ID', relationship VARCHAR(20) COMMENT '关系:father/mother/other', is_primary TINYINT DEFAULT 1 COMMENT '是否主要联系人', created_by VARCHAR(50) COMMENT '创建人', @@ -1585,14 +1578,14 @@ import java.time.LocalDateTime; public class ParentStudent { @Schema(description = "ID", accessMode = Schema.AccessMode.READ_ONLY) - @TableId(type = IdType.ASSIGN_ID) - private String id; + @TableId(type = IdType.AUTO) + private Long id; @Schema(description = "家长 ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String parentId; + private Long parentId; @Schema(description = "学生 ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String studentId; + private Long studentId; @Schema(description = "关系", example = "mother", allowableValues = {"father", "mother", "other"}) private String relationship; @@ -1633,7 +1626,7 @@ import java.time.LocalDateTime; /** * 基础实体类 * - *
包含所有实体共有的字段:ID(雪花算法)、审计字段、逻辑删除。
+ *包含所有实体共有的字段:ID(数据库自增)、审计字段、逻辑删除。
*所有实体类应继承此基类。
* * @author developer @@ -1647,10 +1640,10 @@ public abstract class BaseEntity implements Serializable { private static final long serialVersionUID = 1L; /** - * 主键 ID(雪花算法生成) + * 主键 ID(数据库自增) */ @Schema(description = "主键 ID") - @TableId(type = IdType.ASSIGN_ID) + @TableId(type = IdType.AUTO) private Long id; /** @@ -1865,7 +1858,7 @@ public class MybatisPlusConfig implements MetaObjectHandler { ```sql -- 角色表 CREATE TABLE t_auth_role ( - id BIGINT PRIMARY KEY COMMENT '主键 ID(雪花算法)', + id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键 ID(数据库自增)', role_code VARCHAR(50) NOT NULL COMMENT '角色编码', role_name VARCHAR(100) NOT NULL COMMENT '角色名称', sort_order INT DEFAULT 0 COMMENT '排序', @@ -1880,7 +1873,7 @@ CREATE TABLE t_auth_role ( -- 菜单权限表 CREATE TABLE t_auth_menu ( - id BIGINT PRIMARY KEY COMMENT '主键 ID(雪花算法)', + id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键 ID(数据库自增)', parent_id BIGINT DEFAULT 0 COMMENT '父菜单 ID', menu_type VARCHAR(20) NOT NULL COMMENT '菜单类型:menu-菜单,button-按钮', menu_name VARCHAR(100) NOT NULL COMMENT '菜单名称', @@ -1898,7 +1891,7 @@ CREATE TABLE t_auth_menu ( -- 用户角色关联表 CREATE TABLE t_user_role ( - id BIGINT PRIMARY KEY COMMENT '主键 ID(雪花算法)', + id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键 ID(数据库自增)', user_id BIGINT NOT NULL COMMENT '用户 ID', role_id BIGINT NOT NULL COMMENT '角色 ID', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',