mybatis-plus的id策略

再上一篇博客中,我没有插入id,但id自动生成了。这就很神奇。

@TableId()
private Long id;

在我们的id上可以加上@TableId()注解,
这个注解有两个属性,value和type

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface TableId {
    String value() default "";

    IdType type() default IdType.NONE;
}

这个IdType就是我们的id生成策略

public enum IdType {
    AUTO(0),
    NONE(1),
    INPUT(2),
    ID_WORKER(3),
    UUID(4),
    ID_WORKER_STR(5);

    private final int key;

    private IdType(int key) {
        this.key = key;
    }

    public int getKey() {
        return this.key;
    }
}

下面分别解释

  • AUTO(0),自增,注意这里再实体类中选择这个属性,一定要在数据库中设置自增
  • 在这里插入图片描述
  • NONE(1),未设置
  • INPUT(2),手动输入,一旦设置,就需要自己手动输入
  • ID_WORKER(3),采用雪花算法生成的id(默认id生成方式)
  • UUID(4),全局uuid
  • ID_WORKER_STR(5);ID_WORKER(3)的字符串表示法

雪花算法的组成
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值