MybatisPlus生成主鍵策略方法

MybatisPlus生成主鍵策略方法全局id生成策略【因為是全局id所以不推薦】SpringBoot集成Mybatis-Plus
在yaml配置文件中添加MP配置
mybatis-plus:global-config:db-config:#主鍵類型(auto:"自增id",assign_id:"全局唯一id(雪花算法,Long或者String類型)",assign_uuid:"全局唯一id(無中劃線的uuid)",input:"自行設置id,默認null",none:"不設置主鍵id")id-type: assign_id局部id生成策略【局部id非常推薦】在實體類當中使用@TableId注解配置id生成類型
@TableId(type = IdType.AUTO)private String id;注意事項:

  • 同時配置了這兩種策略時,局部字段的ID生成策略優先級高于全局的id生成策略
  • 使用雪花算法生成ID后 , 再次切換為主鍵自增的ID生成策略后會導致起始序列過大(沒有重置起始序列值)
  • 另外如果原先指定了@TableId(type = IdType.AUTO),然后去除這部分代碼,會發生Tuncate操作(即清空表并重置ID起始值)
如果大家沒有用到MybaitsPlus,也可以用java自帶的生成方法這種自帶的生成方法(里面會有-符號)
java.util.UUID.randomUUID().toString();
也可以用hutool中的生成方法,下面是以int類型為例子
int context = Math.abs(IdUtil.fastSimpleUUID().hashCode());
也可以用當前時間戳+隨機id的形式生成唯一的 , 下面是以String類型為例子
Date date = new Date();String context = DateUtil.format(date,"yyyyMMdd") +Math.abs(IdUtil.fastSimpleUUID().hashCode());使用hutool需要導入依賴
<!--Hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.19</version></dependency>當然這些只是我的建議 , 大家可以去找找其他的方法 。有知道其他方法的小伙伴們歡迎在底下留言,本人小白一枚輕噴!
【MybatisPlus生成主鍵策略方法】

    推薦閱讀