excerpt
<!-- more -->
9.【强制】表必备三字段:id,create_time,update_time。
> 说明:其中 id 必为主键,类型为 bigint unsigned、单表时自增、步长为 1。create_time,update_time 的类型均为
datetime 类型,如果要记录时区信息,那么类型设置为 timestamp。
1.【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint(1 表示是,0 表示否)。
> 注意:POJO 类中的任何布尔类型的变量,都不要加 is 前缀,所以,需要在`<resultMap>`设置从 is_xxx 到 Xxx 的映射关系。数据库表示是与否的值,使用 tinyint 类型,坚持 is_xxx 的命名方式是为了明确其取值含义与取值范围。说明:任何字段如果为非负数,必须是 unsigned。正例:表达逻辑删除的字段名 is_deleted,1 表示删除,0 表示未删除。
4.【强制】禁用保留字,如 desc、range、match、delayed 等,请参考 MySQL 官方保留字。
6.【强制】小数类型为 decimal,禁止使用 float 和 double。
> 说明:在存储的时候,float 和 double 都存在精度损失的问题,很可能在比较值的时候,得到不正确的结果。如果存
储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数并分开存储。
10.【强制】在数据库中不能使用物理删除操作,要使用逻辑删除。
> 说明:逻辑删除在数据删除后可以追溯到行为操作。不过会使得一些情况下的唯一主键变得不唯一,需要根据情况来酌
情解决。