java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > mybatisplus 自动创建/更新时间

mybatisplus实现自动创建/更新时间的项目实践

作者:Valueyou24

Mybatis-Plus提供了自动填充功能,可以通过实现MetaObjectHandler接口来实现自动更新时间的功能,本文就来介绍一下mybatisplus实现自动创建/更新时间的项目实践,感兴趣的可以了解下

Mybatis-Plus提供了自动填充功能,可以通过实现MetaObjectHandler接口来实现自动更新时间的功能。具体实现步骤如下:

(1)实现MetaObjectHandler接口,并重写其insertFill和updateFill方法。这两个方法分别在插入和更新操作时调用。

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

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

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

上述代码中,我们实现了MetaObjectHandler接口,并将其标记为@Component,以便Spring Boot能够扫描到它。

在insertFill和updateFill方法中,我们对MetaObject对象进行了处理,分别设置了createTime和updateTime字段的值。

(2)在实体类中添加createTime和updateTime字段,@TableField注解。

@Data
public class User {

    @TableId(type = IdType.AUTO)
    private Long id;

    @TableField(value="create_time",fill = FieldFill.INSERT)
    private Date createTime;

    @TableField(value="update_time",fill = FieldFill.UPDATE)
    private Date updateTime;
}

上述代码中,我们在createTime和updateTime字段上添加了 @TableField 注解,并分别指定了 fill属性为 FieldFill.INSERT 和 FieldFill.UPDATE。这样,Mybatis-Plus在插入和更新操作时会自动填充相应的值。现在,当执行插入和更新操作时,Mybatis-Plus会自动填充createTime和updateTime字段的值,无需手动设置。

到此这篇关于mybatisplus实现自动创建/更新时间的项目实践的文章就介绍到这了,更多相关mybatisplus 自动创建/更新时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文