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 返回参数太乱处理
