MybatisPlus中设置自动填充时间@TableField注解的使用

简介: MybatisPlus中设置自动填充时间@TableField注解的使用

字段填充策略FieldFill

解释
DEFAULT 默认不处理
INSERT 插入时自动填充
UPDATE 更新时自动填充
INSERT_UPDATE 插入和更新时自动填充

实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Project implements Serializable {
    private static final long serialVersionUID = 666539098716282294L;
   
   ...
   
    /**
    * 开始时间
    */
    @TableField(fill = FieldFill.INSERT)
    private Date startTime;
    /**
    * 更新时间
    */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


}

在上面程序中,通过对startTime字段添加注解@TableField(fill = FieldFill.INSERT),可以实现在进行插入(insert)操作时对该字段进行自动填充;通过对updateTime字段添加注解 @TableField(fill = FieldFill.INSERT_UPDATE),可以实现在进行插入(insert)和更新(update)操作时对该字段进行自动填充;

==注意:只有上面是不能实现自动填充的,我们还需要实现包com.baomidou.mybatisplus.core.handlers下的一个接口MetaObjectHandler==

自动填充处理类(没有这一步数据库不会自动插入)

代码如下(示例):
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("startTime", new Date(),metaObject);
        this.setFieldValByName("updateTime", new Date(),metaObject);
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime", new Date(),metaObject);
    }
}

这样我们在具体业务中对实体类进行赋值就可以不用对这些公共字段进行赋值,在执行插入或者更新时就能自动赋值并插入数据库

目录
相关文章
|
8天前
|
SQL Java 数据库连接
手写mybatis 注解版
手写mybatis 注解版
29 0
|
8天前
|
XML Java 数据库连接
MyBatis深入探索:原生API与注解方式实现CRUD操作
MyBatis深入探索:原生API与注解方式实现CRUD操作
82 0
|
8天前
|
Java 数据库连接 开发者
Mybatis Plus公共字段自动填充(MyMetaObjectHandler)
Mybatis Plus公共字段自动填充(MyMetaObjectHandler)
158 0
|
8天前
|
SQL XML Java
【mybatis】第二篇:@Select注解中加入字段判断
【mybatis】第二篇:@Select注解中加入字段判断
|
7天前
|
SQL 存储 算法
Mybatis-Plus- CRUD接口-主键策略-自动填充和乐观锁-分页-逻辑删除-条件构造器和常用接口
Mybatis-Plus- CRUD接口-主键策略-自动填充和乐观锁-分页-逻辑删除-条件构造器和常用接口
|
8天前
|
XML Java 数据库连接
MyBatis--映射关系一对一和MyBatis--映射关系多对一 -都有基于xml和注解的教程
MyBatis--映射关系一对一和MyBatis--映射关系多对一 -都有基于xml和注解的教程
92 0
|
8天前
|
存储 关系型数据库 MySQL
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
|
8天前
|
Java 数据库连接 mybatis
mybatis plus字段为null或空字符串把原来的数据也更新了,只需要注解
mybatis plus字段为null或空字符串把原来的数据也更新了,只需要注解
26 0
|
8天前
|
Java 数据库连接 网络安全
mybatis使用全注解的方式案例(包含一对多关系映射)
mybatis使用全注解的方式案例(包含一对多关系映射)
13 0
|
8天前
|
关系型数据库 Java 数据库连接
如何利用Mybatis-Plus自动生成代码(超详细注解)
如何利用Mybatis-Plus自动生成代码(超详细注解)
74 1