本规范基于项目现有代码实现,规定了数据库设计、表结构、字段命名、数据类型映射等相关规范。所有规范必须与现有代码保持一致,不得引入未实现的设想。
map-underscore-to-camel-case 配置,实现数据库下划线字段与 Java 驼峰属性自动映射。t_ 开头,后跟模块名和实体名,使用下划线分隔单词。t_user_info、t_user_token。user_id、create_time、wx_openid。id 作为主键字段,类型为 BIGINT。ASSIGN_ID 策略(雪花算法生成 ID)。@TableId(value = "id", type = IdType.ASSIGN_ID) 注解。BaseEntity,包含以下公共字段:
id:主键,BIGINT。version:乐观锁版本号,INT,默认值为 0。create_user:创建者 ID,BIGINT。create_time:创建时间,DATETIME。update_user:更新者 ID,BIGINT。update_time:更新时间,DATETIME。@TableField 注解指定字段名和填充策略。CustomMetaObjectHandler 实现自动填充。create_time、update_time、create_user、update_user。update_time、update_user。version 字段实现乐观锁。@Version 注解。OptimisticLockerInnerInterceptor 插件。@EnumValue 注解标记存储值。TypeHandler 处理枚举与数据库的映射。INT 类型,使用 code 值存储。Gender 枚举存储为 1(男)、2(女)。VARCHAR。INT 或 BIGINT。DATETIME,使用 LocalDateTime。TINYINT 或 BIT。BaseMapper<T>。@Mapper 注解标记。示例:
@Mapper
public interface UserInfoMapper extends BaseMapper<UserInfo> {
}
V{version}__{description}.sql。