MybatisPlus字段添加或修改时自动填充值配置

配置

package com.tay.teaiyang.config;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.soecode.wxtools.util.DateUtil;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.util.Date;


@Component
public class MetaObjectHandlerrConfig implements MetaObjectHandler {
    
    

    @Override
    public void insertFill(MetaObject metaObject) {
    
    
        //默认未删除
        setFieldValByName("deletedFlag", "0",metaObject);

        //创建时间默认当前时间
        setFieldValByName("createdTime", DateUtil.getNowTime(),metaObject);
    }

    @Override
    public void updateFill(MetaObject metaObject) {
    
    
        Date currentDate = new Date();
        //修改时间
        setFieldValByName("updatedTime",DateUtil.getNowTime(),metaObject);
    }
}

使用方法

package com.tay.teaiyang.model;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data

@ApiModel("用户和角色关联的实体类")  //接收前端post请求来的数据
@TableName("sys_operator_member_data_relation")
public class SysOperatorMemberDataRelation {
    
    

    @TableId
    private String id;

    @ApiModelProperty("用户的权限id")
    private String date_permission;
    @ApiModelProperty("用户的id")
    private String member_id;

    @TableLogic
    @TableField(fill =FieldFill.INSERT )
    private String deletedFlag;

    private Integer revision;


    private String createdBy;

    @TableField(fill = FieldFill.INSERT)
    private String createdTime;

    private String updatedBy;


    @TableField(fill = FieldFill.UPDATE)
    private String updatedTime;

}

相当于一个拦截器一样,在对数据增加或者修改时 先对数据中的字段填充再进行之后的操作。

猜你喜欢

转载自blog.csdn.net/weixin_45647685/article/details/114010431