mybatisplus实现自动创建/更新时间
2024-01-09 10:27:40
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字段的值,无需手动设置。
文章来源:https://blog.csdn.net/m0_60936523/article/details/135471500
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!