mybatisPlus注解配置雪花id
好的,那我就结合你提供的代码为例,来详细讲解一下使用 MyBatis-Plus 的注解指定 ID 生成策略的方法。
- 引入依赖
在你的项目中,需要引入 MyBatis-Plus 的依赖以及对应的数据库驱动和连接池依赖,例如:
<!-- MyBatis-Plus 核心依赖 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.7.1</version> </dependency> <!-- 数据库驱动和连接池依赖 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.23</version> </dependency>
- 添加 MySQL 配置
在你的 application.yml(或 application.properties)文件中添加 MySQL 配置信息,例如:
spring: datasource: url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowMultiQueries=true username: root password: root driver-class-name: com.mysql.jdbc.Driver
- 添加 ID 生成策略注解
在你的实体类对应的 JavaBean 上,使用注解 @TableId 来指定 ID 生成策略,例如:
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import javax.validation.constraints.NotNull; @Data public class ScheduleEntity { @TableId(value = "id", type = IdType.ASSIGN_ID) @NotNull(groups = {UpdateGroup.class, HoldUpdateGroup.class}, message = "日程id不能为空") private Long id; // 其他属性 }
@TableId 注解包含两个参数:
-
value:指定主键对应的数据库列名,这里为 id; type:指定主键生成策略,这里使用的是 IdType.ASSIGN_ID,表示主键由用户手动设置或者程序生成。
除了 @TableId 注解外,这里还使用了 @NotNull 注解来确保 id 属性非空,其中 groups 属性用于分组校验。
下一篇:
@Validated 返回参数太乱处理