当前位置:   article > 正文

mybatis-plus 新增/修改实现自动填充指定字段_mybatisplus修改指定字段

mybatisplus修改指定字段
  1. 需要修改的字段在模型类上添加 @TableField(fill = FieldFill.xxx) 注解。
  • FieldFill的选项:
    在这里插入图片描述

哪个字段在什么时候填充需要手动设置注解
在这里插入图片描述

  1. 新建一个MetaObjectHandler的实现类MyMetaObjectHandler
package com.demo.mp.config;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Objects;

@Component // 注入bean
public class MyMetaObjectHandler implements MetaObjectHandler {

  /**
   * @Description: 新增时填充
   *
   * @auther: zpq
   * @date: 2020/11/2 2:26 下午
   */
  @Override
  public void insertFill(MetaObject metaObject) {

    // this.setFieldValByName(字段名, 内容, metaObject:用这个对象进行填充用的,称为元数据对象);

    this.setFieldValByName("createBy", "admin", metaObject);

    // ================setFieldValByName 方法内的内容,有兴趣可以进去看一看,中文注释的==================================================
    /// **
    // * 通用填充
    // *
    // * @param fieldName  java bean property name
    // * @param fieldVal   java bean property value
    // * @param metaObject meta object parameter
    // */
    // default MetaObjectHandler setFieldValByName(String fieldName, Object fieldVal, MetaObject
    // metaObject) {
    //  if (Objects.nonNull(fieldVal) && metaObject.hasSetter(fieldName)) {
    //    metaObject.setValue(fieldName, fieldVal);
    //  }
    //  return this;
    // }
  }

  /**
   * * @Description: 更新时填充
   *
   * @auther: zpq
   * @date: 2020/11/2 11:37 上午
   */
  @Override
  public void updateFill(MetaObject metaObject) {
    this.setFieldValByName("updateBy", "admin", metaObject);
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 完成之后就可以使用了

注意: 当你设置了逻辑删除,在逻辑删除的时候,是不会进行修改填充的,这个需要注意一下。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号