Mybatis-Plus 设置主键
@TableId注解,设置主键自增。注意:数据库中对于的字段必须也要设置为自增。
@TableId(type = IdType.AUTO )
private Integer id ;
Mybatis-Plus 所有主键设置方法
public enum IdType {
AUTO(0), //自增
NONE(1),//不设置
INPUT(2),//手动输入
ID_WORKER(3),//雪花算法定义全局id
UUID(4),//随机唯一值
ID_WORKER_STR(5);// ID_WORKER的字符串表示
uuid与雪花算法
Snowflake算法
- id全局唯一
- 高性能,低延迟
- 独立的应用
- 按时间有序
- 需要独立的开发和部署
结构图:
- 41位的时间序列(精确到毫秒,41位的长度可以使用69年)
- 10位的机器标识(10位的长度最多支持部署1024个节点)
- 12位的计数顺序号(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号) 最高位是符号位,始终为0。
uuid
UUID(Universally Unique Identifier)的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的36个字符,每次生成随机的唯一的值