Mybatis-plus全局id生成策略详解

 更新时间:2022年01月15日 08:42:51   作者:心醉瑶瑾前  
这篇文章主要介绍了Mybatis-plus全局id生成策略详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Mybatis-plus全局id生成策略

在配置文件中加入以下代码后就不需要在实体类种的id上添加

@TableId(value = “id”, type = IdType.AUTO)
mybatis-plus:
  global-config:
    db-config:
      id-type: auto #设置主键自动生成策略(全局id生成策略)

Mybatis-plus6种主键生成策略小结

/**
 * 数据库ID自增,数据库需要支持主键自增(如MySQL),并设置主键自增
 */
AUTO(0),
/**
 * 该类型为未设置主键类型,默认使用雪花算法生成(snowflake)
 */
NONE(1),
/**
 * 用户输入ID,数据类型和数据库保持一致就行
 * <p>该类型可以通过自己注册自动填充插件进行填充</p>
 */
INPUT(2),
/* 以下3种类型、只有当插入对象ID 为空,才自动填充。 */
/**
 * 全局唯一ID (idWorker),数值类型  数据库中也必须是数值类型 否则会报错
 * mp自带策略,生成19位值,数字类型使用这种策略 比如long
 */
ID_WORKER(3),
/**
 * 全局唯一ID (UUID,不含中划线)
 * 每次生成随即唯一的值
 * 缺点:排序不方便
 */
UUID(4),
/**
 * 字符串全局唯一ID (idWorker 的字符串表示),数据库也要保证一样字符类型
 * mp自带策略,生成19位值 字符串类型使用这种策略
 */
ID_WORKER_STR(5);

直接在实体类的主键字段加注解配置使用哪一种策略

举例:

@TableId(type = IdType.ID_WORKER_STR)
    private String id;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java使用JDK与Cglib动态代理技术统一管理日志记录

    Java使用JDK与Cglib动态代理技术统一管理日志记录

    这篇文章主要介绍了Java使用JDK与Cglib动态代理技术统一管理日志记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • java对数组进行排序的方法

    java对数组进行排序的方法

    这篇文章主要介绍了java对数组进行排序的方法,涉及java数组排序的技巧,需要的朋友可以参考下
    2015-03-03
  • Java 多线程实例详解(三)

    Java 多线程实例详解(三)

    本文主要介绍 java 线程安全的知识,这里整理了相关资料及实现示例代码,有兴趣的小伙伴可以参考下
    2016-09-09
  • 详解如何使用Java编写图形化的窗口

    详解如何使用Java编写图形化的窗口

    这篇文章主要介绍了如何使用Java编写图形化的窗口,是Java的本地GUI软件开发的基础,需要的朋友可以参考下
    2015-10-10
  • Java代码里如何拼接SQL语句到mybatis的xml

    Java代码里如何拼接SQL语句到mybatis的xml

    这篇文章主要介绍了Java代码里拼接SQL语句到mybatis的xml操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • eclipse的web项目实现Javaweb购物车的方法

    eclipse的web项目实现Javaweb购物车的方法

    这篇文章主要介绍了eclipse的web项目实现Javaweb购物车的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • java获取两个List集合的交集代码示例

    java获取两个List集合的交集代码示例

    这篇文章主要给大家介绍了关于java获取两个List集合交集的相关资料,我们可以使用Stream操作来对集合进行一系列的操作,其中包括求交集,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • 解决java.lang.NoClassDefFoundError错误的问题

    解决java.lang.NoClassDefFoundError错误的问题

    在Java开发过程中,NoClassDefFoundError是一个常见的运行时错误,是由于JVM在运行时找不到已编译的类文件导致的,本文就来介绍一下如何解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-09-09
  • 解决spring boot启动扫描不到自定义注解的问题

    解决spring boot启动扫描不到自定义注解的问题

    这篇文章主要介绍了解决spring boot启动扫描不到自定义注解的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • SpringBoot激活profiles的几种方式

    SpringBoot激活profiles的几种方式

    多环境是最常见的配置隔离方式之一,可以根据不同的运行环境提供不同的配置信息来应对不同的业务场景,这篇文章主要介绍了SpringBoot激活profiles的几种方式,需要的朋友可以参考下
    2019-10-10

最新评论