强制要求
类型 | MySQL | Java | Delphi | 备注 |
---|---|---|---|---|
日期(Date)、日期时间(DateTime) | BigInt | Long | Int64 | 通常单位为秒即可,特殊情况下才可以使用毫秒; |
Boolean值 | Tinyint(1),要求非空 | Boolean | Boolean | mybatis-generator也会自动生成Boolean,声明一个is_active boolean类型示例:CREATE TABLE example_table ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, is_active BOOLEAN NOT NULL );在MySQL中,没有专门的boolean 数据类型。但MySQL使用TINYINT(1) 作为boolean 的等价物。当你声明一个字段为BOOLEAN 时,MySQL实际上会将其视为TINYINT(1) ,其中1 表示true ,0 表示false |
货币类型 | int/bigint | Integer/Long | Integer/Int64 | 单位为分,那么Integer 的范围是:-21474836.48 --> 21474836.47;可见最大2000万元左右,一般的金额可以使用Integer,比如员工工资,这个不可能超过2000万,故用Integer;若会超过2000万 则使用 Int64,Int64的范围不写了,足以了 |
枚举类型 | Tinyint,要求非空 | Byte | Byte | 由于delphi里的Byte是无符号的,所以要求 枚举最多0-127 共128个元素,足以了 |
生成 Java model类的时候,必须使用我们自己的 mybatis-generator;除了以上外,强制要求 其它自由;
主键的规范
主键 需要使用 bigint,并设置成自增长模式,暂时这样;后续会提供主键生成器模块;
自增长 的弊端是若插入失败或 增加后又删除 就会导致主键资源的浪费;我们后续会开发主键生成器中间件,来解决主键浪费的问题;以Java 举例,这个主键生成器将以jar包的方式提供,继承在项目中,通过配置一下 表名就可以了,项目中使用主键 就调用主键生成器提供的方法来拿到主键,多线程并发安全;主键生成器将定时扫描 回收那些被浪费的主键资源;
标签:MySql,生成器,规范,Boolean,Int64,MySQL,Integer,主键 From: https://www.cnblogs.com/del88/p/18154678