1. ID_WORKER

MyBatis-Plus默认的主键策略是:ID_WORKER 全局唯一ID
参考资料:分布式系统唯一ID生成方案汇总:https://www.cnblogs.com/haoxinyue/p/5208136.html

2. 自己指定主键生成策略

在mybatis-plus中想要自己指定主键策略需要在你的实体类中的id属性上面加上注解:@TableId()

查看源码,发现有个IdType,

再点进去,发现里面有很多主键生成策略。

分别对应的是:

  1. AUTO(0):数据库ID自增。
  2. NONE(1):该类型为未设置主键生成策略。
  3. INPUT(2):用户输入ID、该类型可以通过自己注册自动填充插件进行填充。简单来说就是使用了这个策略要我们自己输入id,不会自动生成id。
  4. ID_WORKER(3):全局唯一ID (idWorker),mp自带策略,会生成19位的值,需要的注意的是这个只能放在数字类型的主键中。
  5. UUID(4):全局唯一ID (UUID)。
  6. ID_WORKER_STR(5):字符串全局唯一ID (idWorker 的字符串表示)。同ID_WORKER不同的是它是只能放在String类型的主键中。

其中在mybatis-plus中默认的是ID_WORKER与 ID_WORKER_STR,当我们没有指定生成策略的时候,他会根据你的主键的数据类型来选择ID_WORKER或者ID_WORKER_STR,这两种主键生成策略使用的是snowflake算法,也就是雪花算法。

mybatis-plus主键生成策略相关推荐

  1. mybatis主键生成策略和mp主键生成策略

    mybatis主键生成策略和mp主键生成策略 1,mybatis plus 主键生成策略 都是通过给实体类的属性添加注解的方式执行type = IDTYPE- ​ 1,AUTO数据库ID自增 ​ 2, ...

  2. JavaEE持久层框架对比与hibernate主键生成策略总结

    一.持久层框架对比 ORM框架:即对象关系映射.它把数据库表映射到pojo类,然后通过对类的操作来实现对数据库的增删改查,sql语句自动生成. 对于代码开发者来说,就是在代码里先创建数据库连接对象,然 ...

  3. hibernate 7大主键生成策略详解与对象状态

    一:代理主键_主键自增 1.identity 1.采用底层数据库本身提供的主键生成标识符,条件是数据库支持自动增长数据类型 2.该生成器要求在数据库中把主键定义成为自增长类型.适用于代理主键 2.in ...

  4. Hibernate各种主键生成策略与配置详解 - 真的很详细啊!!

    1.assigned 主键由外部程序负责生成,在 save() 之前必须指定一个.Hibernate不负责维护主键生成.与Hibernate和底层数据库都无关,可以跨数据库.在存储对象前,必须要使用主 ...

  5. hibernate之主键生成策略

    一.主键类型 1.自然主键(主键本身就是表中的一个字段,实体中一个具体的属性) 表中已经具有某字段,并且该字段具有业务含义作为主键,称之为自然主键. 例如:在person表中的身份证号,既是唯一的,又 ...

  6. 基于按annotation的hibernate主键生成策略

    这里讨论代理主键,业务主键(比如说复合键等)这里不讨论. 一.JPA通用策略生成器 通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id ...

  7. Hibernate标识符属性(主键)生成策略全析

    数据库中的主键能够唯一识别一条记录,它可以是一个字段也可以是多个字段的组合.主键的主要作用是标识表中的一条记录,还有和其他表中的数据进行关联.数据库中的主键类型必须符合唯一性约束和非空约束.作为附加属 ...

  8. 主键由数据库mysql 映射native_Hibernate主键生成策略详解

    转载自:http://blog.csdn.net/wanghuan203/article/details/7562395 hibernate提供的主键生成策略,使我们可以在实体类的映射xml文件中设定 ...

  9. hibernate框架学习第二天:核心API、工具类、事务、查询、方言、主键生成策略等...

    核心API Configuration 描述的是一个封装所有配置信息的对象 1.加载hibernate.properties(非主流,早期) Configuration conf = new Conf ...

  10. Hibernate持久化类与主键生成策略

    Hibernate持久化类 什么是持久化类? Persistent Object (PO) PO=POJO+hbm映射配置 对于hibernate中的PO编写规则: 1. 必须提供一个无参数的publ ...

最新文章

  1. 重磅直播 | 室内动态变化场景中的相机重定位(CVPR2021)
  2. 苹果自动驾驶部门「裁员」又「重组」,AI负责人接掌「泰坦」
  3. 基于ubuntu 的LAMP 优化加固
  4. C++ new一个数组方法和初始化的方法
  5. wxWidgets:wxObjectDataPtr< T >类模板用法
  6. Java高并发系列 — AQS
  7. lnmp搭建的常见错误
  8. Arquillian 1.0.0.Final正式发布! 准备使用GlassFish和WebLogic! 杀死所有虫子!
  9. L2-010. 排座位-PAT团体程序设计天梯赛GPLT(并查集)
  10. java怎么连不上xml_java mvc web 项目web.xml头改错了,死活加载不上springMvc的jar
  11. firewalls 查看防火墙状态_5条命令玩转Linux系统防火墙
  12. 解决Solidworks 2016 安装注册Activator.GUI.SSQ卡顿 闪退 崩溃等问题
  13. wps怎么免费导出简历_简历模板Word文档 免费下载简历模板
  14. 程序员年薪40万被国企同学怒怼:没啥贡献,工资这么高,凭什么?
  15. 2.4g和5g要不要合并_路由器2.4g和5g要不要合并?
  16. php px与rem转换,pt 与 px、em、rem 的区别与换算
  17. 学习web前端能做游戏开发吗?
  18. RDA5820收音机芯片驱动
  19. Fragment和Activity之间的通信
  20. 《那些年啊,那些事——一个程序员的奋斗史》——28

热门文章

  1. W/ActivityManager( 1419): Activity is launching as a new task, so cancelling activity result.
  2. ENVI数据类型和MATLAB数据类型对比
  3. 3.企业安全建设指南(金融行业安全架构与技术实践) --- 安全规划
  4. 34.Linux/Unix 系统编程手册(下) -- 进程组,会话和作业控制
  5. 22. Magento 创建新闻模块(3)
  6. background-color:#e5eecc; border:solid 1px #c3c3c3;
  7. Python3-问题整理
  8. 《软件工程》团队第一阶段Sprint检查表
  9. “购物比价类”Target SDK≥26优秀应用展示
  10. python 匿名函数 与 重要的内置函数