MyBatis Plus 字段设置默认值

一: 通过注解方式

@TableField(update = "NOW()")

MyBatis Plus 字段设置默认值_第1张图片

/**
     * 行修改时间
     * 该注解可以设置更新时间为数据库服务器当前时间
     * 更新操作均适用
     * 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

你可能感兴趣的:(mybatis)