# Mybatis-plus常用注解及其配置 **Repository Path**: fpfgitmy_admin/mybatis-plus-common-annotation ## Basic Information - **Project Name**: Mybatis-plus常用注解及其配置 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-28 - **Last Updated**: 2021-04-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### Mybatis-plus常用注解及其配置 #### 常用注解 ##### @TableId(type = IdType.ID_WORKER) + 简单介绍:标注在主键上,生成不同类型的自增主键 ``` import com.baomidou.mybatisplus.annotation.*; import lombok.Data; @Data @TableName(value = "bss_user") public class User { // 雪花算法生成的19位自增主键 @TableId(type = IdType.ASSIGN_ID) private String userId; } ``` + `type`类型 1. AUTO 数据库ID自增 2. NONE 该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT) 3. INPUT 用户输入ID该类型可以通过自己注册自动填充插件进行填充 4. ASSIGN_ID 分配ID (主键类型为number或string),雪花算法 5. ASSIGN_UUID 替换掉`-`的uuid ##### @TableField(fill = FieldFill.INSERT) + 简单介绍:表示字段操作类型 + 配置类 ``` package com.example.demo.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.util.Date; @Component public class MyMetaObjectHandler implements MetaObjectHandler { /** * 在新增时创建默认值 * * @param metaObject */ @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName("createTime", new Date(), metaObject); } /** * 在修改时创建默认值 * * @param metaObject */ @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName("updateTime", new Date(), metaObject); } } ``` + 使用类 ``` import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import java.util.Date; @Data @TableName(value = "bss_user") public class User { // 生成19位数的自增主键 @TableId(type = IdType.ID_WORKER) private String userId; // 新增的时候有值 @TableField(fill = FieldFill.INSERT) private Date createTime; // 修改的时候有值 @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime; } ```