@TableId(type = IdType.ASSIGN_ID)主键未生成
时间: 2024-05-28 13:10:07 浏览: 192
@TableId(type = IdType.ASSIGN_ID)是MyBatis-Plus框架中用于指定实体类的主键生成策略的注解。其中,type参数指定了主键生成策略,IdType.ASSIGN_ID表示手动输入主键值。因此,在使用此注解时,需要手动给主键属性赋值,否则会出现主键未生成的情况。如果你遇到了主键未生成的问题,可以检查一下主键属性是否有值。
相关问题
@TableId(type = IdType.ASSIGN_ID)不是雪花算法生成主键么
对不起,我之前的回答有误。实际上,`@TableId(type = IdType.ASSIGN_ID)` 在 MyBatis Plus 中是用于手动指定主键值的注解,并不涉及雪花算法。
如果你想要使用雪花算法生成主键,可以使用 `@TableId(type = IdType.ASSIGN_UUID)` 注解。通过这个注解,MyBatis Plus 会使用雪花算法生成一个唯一的字符串作为主键,并回显到对象的主键属性上。
```java
@TableId(type = IdType.ASSIGN_UUID)
private String id;
```
在插入对象到数据库时,MyBatis Plus 会自动生成一个唯一的字符串作为主键,并将该值回显到对象的 `id` 属性上。
@TableId(type = IdType.ASSIGN_ID)
@TableId(type = IdType.ASSIGN_ID) 是MyBatis-Plus框架中用于指定实体类主键生成策略的注解。它表示使用雪花算法生成主键ID,并且主键类型可以是长(BIGINT)或字符串(VARCHAR)。这个策略会根据雪花算法自动生成唯一的主键ID,保证了主键的全局唯一性。
阅读全文