mybatisPlus注解配置雪花id

好的,那我就结合你提供的代码为例,来详细讲解一下使用 MyBatis-Plus 的注解指定 ID 生成策略的方法。

  1. 引入依赖

在你的项目中,需要引入 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>
  1. 添加 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
  1. 添加 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 属性用于分组校验。

经验分享 程序员 微信小程序 职场和发展