MybatisPlus自动填充

  1. 添加注解 @TableField(fill = FieldFill.INSERT)
  2. 实现接口 MetaObjectHandler ,实现类需添加注解 @Component 将实现类加入容器
package com.atguigu.mpdemo1010.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.util.Date;

@Data
public class User {

    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    private String email;

    /*
        MP自动填充
        1.添加注解 @TableField(fill = FieldFill.INSERT)
        2.实现接口 MetaObjectHandler ,实现类需添加注解 @Component 将实现类加入容器
     */

    //添加时自动填充当前字段
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    //添加和修改时自动填充当前字段
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


}

package com.atguigu.mpdemo1010.handler;

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

import java.util.Date;

@Component
public class MyObjectHandler implements MetaObjectHandler {
    //MP添加时执行
    @Override
    public void insertFill(MetaObject metaObject) {
        //根据名称设置属性值
        this.setFieldValByName("createTime",new Date(),metaObject);
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
    //MP修改时执行
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
}

日志

#mybatis??
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

你可能感兴趣的:(学习笔记,java)