怎么做网站文件,wordpress设置注册观看,仿网站百度会怎么做,宁波seo外包推广TableField(fill  FieldFill.INSERT_UPDATE)是什么 
TableField(fill  FieldFill.INSERT)、TableField(fill  FieldFill.INSERT_UPDATE)这两个注解经常在项目中使用到#xff0c;他MyBatis-Plus 库中的注解#xff0c;它用于指定字段在执行数据库表的插入和更新操作时的填充策…TableField(fill  FieldFill.INSERT_UPDATE)是什么 
TableField(fill  FieldFill.INSERT)、TableField(fill  FieldFill.INSERT_UPDATE)这两个注解经常在项目中使用到他MyBatis-Plus 库中的注解它用于指定字段在执行数据库表的插入和更新操作时的填充策略 
TableField(fill  FieldFill.INSERT_UPDATE)详细介绍 
功能 TableField(fill  FieldFill.INSERT_UPDATE) 注解用于指示在插入和更新操作期间自动填充字段的值。通常该注解应用于实体类字段这些字段映射到数据库表中的列。填充策略 注解的 fill 属性指定了字段的填充策略。有几个选项可用 
FieldFill.DEFAULT这是默认的填充策略表示字段不应自动填充。FieldFill.INSERT该策略指示字段在插入操作时自动填充。FieldFill.UPDATE该策略指示字段在更新操作时自动填充。FieldFill.INSERT_UPDATE该策略指示字段在插入和更新操作时都自动填充。 
使用方法 要使用 TableField(fill  FieldFill.INSERT_UPDATE) 注解按照以下步骤进行操作 
在实体类中找到要应用填充策略的字段。在字段上添加 TableField(fill  FieldFill.INSERT_UPDATE) 注解。 
实际使用案例 
有一个student表对应Student实体类包含一下四个字段creatorId、createTime、updaterId、updateTime 
需要实现如下功能 
creatorId创建人 - 创建时自动填充createTime创建时间 - 创建时自动填充updaterId更新人 - 创建和更新时自动填充updaterId更新时间 - 创建和更新时自动填充 
第一步字段上添加注解 
对应的字段分别加上TableField(fill  FieldFill.INSERT)和TableField(fill  FieldFill.INSERT_UPDATE)注解 
具体如下 
Student实体类 
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;import java.io.Serializable;
import java.util.Date;Data
EqualsAndHashCode(callSuper  false)
TableName(student)
ApiModel(valueStudent对象, description学生表)
public class Student implements Serializable {private static final long serialVersionUID  1L;ApiModelProperty(value  自增ID)TableId(value  id, type  IdType.AUTO)private Integer id;ApiModelProperty(value  姓名)private String name;ApiModelProperty(value  性别)private Integer sex;ApiModelProperty(value  生日)JsonFormat(pattern  yyyy-MM-dd)private Date birthday;ApiModelProperty(value  身份证号)private String idCard;ApiModelProperty(value  手机号)private String phone;ApiModelProperty(value  创建人)TableField(fill  FieldFill.INSERT)private Integer creatorId;ApiModelProperty(value  创建时间)TableField(fill  FieldFill.INSERT)private Date createTime;ApiModelProperty(value  更新人)TableField(fill  FieldFill.INSERT_UPDATE)private Integer updaterId;ApiModelProperty(value  更新时间)TableField(fill  FieldFill.INSERT_UPDATE)private Date updateTime;}第二步添加元数据对象处理器 
添加元数据对象处理器实现MetaObjectHandler类 
注意这个类加上要加Component注解这样spring容器才能管理到 
import cn.dev33.satoken.stp.StpUtil;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;import java.util.Date;
import java.util.Optional;Slf4j
Component
public class MyMetaObjectHandler implements MetaObjectHandler {Overridepublic void insertFill(MetaObject metaObject) {log.info(start insert fill);// 创建时间使用当前时间填充this.setFieldValByName(createTime, new Date(), metaObject);// 更新时间使用当前时间填充this.setFieldValByName(updateTime, new Date(), metaObject);// 创建人id使用当前登录人id填充没有的话默认设置1this.setFieldValByName(creatorId, Optional.ofNullable(StpUtil.getLoginIdDefaultNull()).orElse(1), metaObject);// 更新人id使用当前登录人id填充没有的话默认设置1this.setFieldValByName(updaterId, Optional.ofNullable(StpUtil.getLoginIdDefaultNull()).orElse(1), metaObject);}Overridepublic void updateFill(MetaObject metaObject) {log.info(start update fill);// 更新时间使用当前时间填充this.setFieldValByName(updateTime, new Date(), metaObject);// 更新人id使用当前登录人id填充没有的话默认设置1this.setFieldValByName(updaterId, Optional.ofNullable(StpUtil.getLoginIdDefaultNull()).orElse(1), metaObject);}}实现MetaObjectHandler中的insertFill、updateFill方法 
创建人和更新人这里是基于SaToken中获取的我这里项目使用SaToken来做认证和鉴权大家可按自己实际情况进行赋值 
这样student插入和更新时这四个字段就会赋值