本文主要是介绍关于时间、创建人自动赋值填充,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
通过
@TableField(fill = FieldFill.INSERT_UPDATE)
@TableField(fill = FieldFill.INSERT_UPDATE)
package cn.zhxx.mybatis.entity;import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;import java.io.Serializable;
import java.util.Date;/*** Entity基类** @author zhxx* @date 2022/4/25 13:04**/
@Data
public abstract class BaseEntity implements Serializable {private static final long serialVersionUID = 1L;/*** 记录ID**/@TableId(type = IdType.AUTO)private Long id;/*** 创建者*/@TableField(fill = FieldFill.INSERT)private Long createBy;/*** 创建时间*/@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")@TableField(fill = FieldFill.INSERT)private Date createTime;/*** 更新者*/@TableField(fill = FieldFill.INSERT_UPDATE)private Long updateBy;/*** 更新时间*/@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")@TableField(fill = FieldFill.INSERT_UPDATE)private Date updateTime;/*** 逻辑删除 0 未删除 1 已删除*/@TableLogicprivate Integer deleted;
}
和MybatisMetaObjectHandler实现
package cn.zhxx.mybatis.handler;import cn.zhxx.common.security.utils.SecurityUtils;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;import java.util.Date;/*** 通用的字段填充,如createBy createDate这些字段的自动填充** @author zhxx* @date 2021/12/31 11:42**/
@Component
public class MybatisMetaObjectHandler implements MetaObjectHandler {@Overridepublic void insertFill(MetaObject metaObject) {setFieldValByName("deleted", 0, metaObject);setFieldValByName("createTime", new Date(), metaObject);setFieldValByName("createBy", SecurityUtils.getUserIdWithoutException(), metaObject);}@Overridepublic void updateFill(MetaObject metaObject) {setFieldValByName("updateTime", new Date(), metaObject);setFieldValByName("updateBy", SecurityUtils.getUserIdWithoutException(), metaObject);}
}
这篇关于关于时间、创建人自动赋值填充的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!