一: 通过注解方式
@TableField(update = "NOW()")
/**
* 行修改时间
* 该注解可以设置更新时间为数据库服务器当前时间
* 更新操作均适用
* update/saveOrUpdate/saveOrUpdateBatch/updateById/updateBatchById
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(update = "NOW()")
private LocalDateTime updateTime;
二: 注解加组件
@TableField(fill = FieldFill.INSERT_UPDATE) + MetaObjectHandler
/**
* 行修改时间
* 插入和更新时填充字段
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* @author louis
* @description: 元对象字段填充控制器实现类,实现公共字段自动写入
* @date 2022-10-31
* @version 1.0
*/
@Component
public class MybatisplusHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("updateTime", LocalDateTimeUtil.now(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updateTime", LocalDateTimeUtil.now(), metaObject);
}
}
元对象字段填充控制器抽象类,实现公共字段自动写入 com.baomidou.mybatisplus.core.handlers.MetaObjectHandler