主键生成策略
-
MyBatis-Plus默认的主键策略是:
ID_WORKER
全局唯一ID -
要想主键自增需要配置如下主键策略:需要在创建数据表的时候设置主键自增;实体字段中配置
@TableId(type = IdType.AUTO)
-
几种主键成生策略的对比: 自动增长不方便分库分表;当IdType的类型为ID_WORKER、ID_WORKER_STR或者UUID时,主键由MyBatis Plus的IdWorker类生成,idWorker中调用了分布式唯一 ID 生成器 - Sequence
雪花算法
snowflake算法是Twitter开源的分布式ID生成算法,结果是一个long类型的ID 。其核心思想:使用41bit作为毫秒数,10bit作为机器的ID(5bit数据中心,5bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每个毫秒可以产生4096个ID),最后还有一个符号位,永远是0。
全局配置策略
要想影响所有实体的配置,可以设置全局主键配置
mybatis-plus:
global-config:
db-config:
id-type: auto