MybatisPlus生成主键策略方法(mybatis自动生成主键)

  本篇文章为你整理了MybatisPlus生成主键策略方法(mybatis自动生成主键)的详细内容,包含有mybatisplus自动生成主键 mybatis自动生成主键 mybatis-plus主键策略 mybatis自定义主键生成器 MybatisPlus生成主键策略方法,希望能帮助你了解 MybatisPlus生成主键策略方法。

   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生成策略后会导致起始序列过大(没有重置起始序列值)

  
另外如果原先指定了@TableId(type = IdType.AUTO),然后去除这部分代码,会发生Tuncate操作(即清空表并重置ID起始值)

  
如果大家没有用到MybaitsPlus,也可以用java自带的生成方法

  因为一般数据库主键为String类型,所以接收类型为String,生成的uuid数据包含-,所以要去掉-,

  java.util.UUID.randomUUID().toString().replace("-", "").toLowerCase();

  也可以用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生成主键策略方法(mybatis自动生成主键)的详细内容,想要了解更多 MybatisPlus生成主键策略方法的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: