springboot mybatisplus主键使用雪花id
时间: 2025-01-15 08:09:26 浏览: 81
### Spring Boot 中 MyBatis Plus 实体类主键生成策略配置
在 Spring Boot 项目中使用 MyBatis Plus 的实体类可以方便地设置主键生成策略。默认情况下,MyBatis Plus 已经支持多种主键生成方式,其中包括基于雪花算法的 `ASSIGN_ID` 策略[^1]。
对于希望自定义主键生成器的情况,可以通过修改实体属性上的注解来实现这一点。具体来说,在实体类字段上应用 `@TableId` 注解并指定其 `type` 属性为 `IdType.ASSIGN_ID` 或者 `IdType.ASSIGN_UUID` 来启用内置的支持[^3]。
下面是一个具体的例子展示如何在一个名为 `User` 的实体类里配置雪花算法作为 ID 生产方法:
```java
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
public class User {
@TableId(type = IdType.ASSIGN_ID)
private Long id; // 使用Long类型存储由雪花算法产生的唯一标识符
// getter 和 setter 方法...
}
```
如果想要进一步调整雪花算法的行为(比如改变起始时间戳),则可能需要创建自己的 SnowflakeIdGenerator 并将其注册到应用程序上下文中[^2]。
此外,也可以通过全局配置的方式统一设定整个项目的主键生成规则而不需要逐个实体去声明。这通常是在 application.yml 文件内完成:
```yaml
mybatis-plus:
global-config:
db-config:
id-type: assign_id # 设置全局主键策略为assign_id, 即采用改进版的雪花算法
```
以上就是关于在 Spring Boot 应用程序中利用 MyBatis Plus 进行实体对象主键自动赋值的相关说明以及实践案例[^2].
阅读全文
相关推荐



















