java springboot@GeneratedValue 注解

springboot中@GeneratedValue作用:

(1)@GeneratedValue注解存在的意义主要就是为一个实体生成一个唯一标识的主键、@GeneratedValue提供了主键的生成策略。

(2)@GeneratedValue注解有两个属性,分别是strategy和generator,

generator属性:

  1.  generator属性的值是一个字符串,默认为"",其声明了主键生成器的名称
  2.  (对应于同名的主键生成器@SequenceGenerator和@TableGenerator)。

strategy属性:提供四种值:

  1.  -AUTO主键由程序控制, 是默认选项 ,不设置就是这个
  2.  -IDENTITY 主键由数据库生成, 采用数据库自增长, Oracle不支持这种方式
  3.  -SEQUENCE 通过数据库的序列产生主键, MYSQL  不支持
  4.  -Table 提供特定的数据库产生主键, 该方式更有利于数据库的移植

在是用tk.mybatis数据库添加时 先将对象id设为null

project.setId(null);
然后用tkmybatis的insertSelective方法添加

projectMapper.insertSelective(project);
添加后
project.getId()可以直接取出刚添加到数据库自动生成的主键id。
原文地址:https://www.cnblogs.com/jiejava/p/14101470.html