本篇文章为你整理了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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。