赞
踩
@TableField(fill = FieldFill.xxx)
注解。哪个字段在什么时候填充需要手动设置注解
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);
}
}
注意: 当你设置了逻辑删除,在逻辑删除的时候,是不会进行修改填充的,这个需要注意一下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。