加这个注解,可以创建,可以修改,也可以创建与修改时:
@TableField(fill = FieldFill.INSERT_UPDATE)//创建与修改时自动填充 private LocalDateTime updateTime;
然后编写一个类,实现MetaObjectHandler接口重写insert和update方法例如:
mport com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.rome.backend.common.BaseContext;//自己编写的类可以用ThrowLcal
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
@Component
public class DateConfig implements MetaObjectHandler {
/**
* 使用mp做添加操作时候,这个方法执行
* @param metaObject
*/
@Override
public void insertFill(MetaObject metaObject) {
//设置属性值 属性名 属性值
this.setFieldValByName("createTime",LocalDateTime.now(),metaObject);
this.setFieldValByName("updateTime",LocalDateTime.now(),metaObject);
this.setFieldValByName("createUser", BaseContext.getCurrentId(),metaObject);
this.setFieldValByName("updateUser",BaseContext.getCurrentId(),metaObject);
}
/**
* 使用mp做修改操作时候,这个方法执行
* @param metaObject
*/
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updateTime",LocalDateTime.now(),metaObject);
this.setFieldValByName("updateUser",BaseContext.getCurrentId(),metaObject);
}
}
年少轻狂,总以为天下事竭力有为。人事尽时,终感力不能及。
浙公网安备 33010602011771号