Mybatis-Plus 自动填充-时间

本文介绍了如何按照阿里巴巴开发手册的要求,在数据库表中自动管理gmt_create和gmt_modified字段。通过数据库方式或代码实现,确保创建时间和修改时间的自动化更新。在MySQL中设置CREATE_TIME和UPDATE_TIME字段,并在实体类中添加对应的属性和注解,同时通过编写MetaObjectHandler处理器处理插入和更新操作,实现时间戳的自动维护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建时间、修改时间这些个操作都是自动化完成的,我们不希望手动更新!

根据阿里巴巴开发手册,有这么一句话:所有的数据库表当中必须有gmt_create、gmt_modified,几乎所有的表都要配置上!而且需要自动化!!!

方式一:数据库方式:(这个方法是mysql版本在5之上,否则会报错)

1、在数据库表中新增create_time、update_time字段

在这里插入图片描述

CURRENT_TIMESTAM

2、在实体类中同步对应属性

 private Date createTime;
 private Date updateTime;

3、查看测试结果

在这里插入图片描述

方式二、代码实现

1、删除数据表中的默认值,更新操作。
在这里插入图片描述
2、在实体类属性中添加所需的注解

	@TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

3、编写处理器处理这些个注解即可

@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        log.info("start insert ...");
        this.setFieldValByName("createTime",new Date(),metaObject);
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }

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

4、测试效果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平平常常一般牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值