MyBatis 自动更新时间的方法实现

 更新时间:2024年06月10日 11:19:45   作者:Kwan的解忧杂货铺  
本文主要介绍了MyBatis 自动更新时间的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.@TableField 注解

在 Java 编程中,@TableField注解通常与 MyBatis-Plus 框架一起使用,用于指定实体类字段与数据库表字段的映射关系。@TableField注解中的value属性用于指定数据库表中的字段名,而fill属性用于指定字段值的填充策略

2.FieldFill.INSERT

@TableField(value = "create_time", fill = FieldFill.INSERT)这个注解表示实体类中有一个字段与数据库表中的create_time字段相对应。fill属性设置为FieldFill.INSERT,意味着当插入新记录时,这个字段的值会被自动填充。通常,这用于记录创建时间,每次插入新记录时,自动设置为当前时间。

3.FieldFill.INSERT_UPDATE

@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)这个注解表示实体类中有一个字段与数据库表中的update_time字段相对应。fill属性设置为FieldFill.INSERT_UPDATE,意味着这个字段的值会在插入新记录时被填充,并且在每次记录更新时也会被更新为当前时间。这通常用于记录最后更新时间。

4.MyMetaObjectHandler

@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

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

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

}

5.实体类

@ApiModelProperty("创建时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
@ApiModelProperty("更新时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
private Date updateTime;

6.数据库

`create_time`   timestamp      DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time`   timestamp      DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

到此这篇关于MyBatis 自动更新时间的几种方法的文章就介绍到这了,更多相关MyBatis 自动更新时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • JAVA及相关字符集编码问题研究分享

    JAVA及相关字符集编码问题研究分享

    对于JAVA学习,或多或少都会遇到这样的问题:编码基本知识,java,系统软件,url,工具软件等
    2014-10-10
  • Struts2动态结果集代码示例

    Struts2动态结果集代码示例

    这篇文章主要介绍了Struts2动态结果集的有关内容,涉及具体代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-09-09
  • 使用Nexus搭建Maven私服的方法步骤

    使用Nexus搭建Maven私服的方法步骤

    这篇文章主要介绍了使用Nexus搭建Maven私服的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • RestTemplate在Spring或非Spring环境下使用精讲

    RestTemplate在Spring或非Spring环境下使用精讲

    这篇文章主要为大家介绍了RestTemplate在Spring或非Spring环境下使用精讲,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • Spring Gateway的入门概述及主要功能

    Spring Gateway的入门概述及主要功能

    Spring Gateway是Spring Cloud微服务生态下的网关组件,网络层使用了基于非阻塞的 Netty使用异步IO增加了系统的性能,Gateway 是基于 Spring 5 和 Spring Boot 2 搭建的,这篇文章主要介绍了Spring Gateway的入门概述简介,需要的朋友可以参考下
    2024-04-04
  • 基于Java HttpClient和Htmlparser实现网络爬虫代码

    基于Java HttpClient和Htmlparser实现网络爬虫代码

    这篇文章主要介绍了基于Java HttpClient和Htmlparser实现网络爬虫代码的相关资料,需要的朋友可以参考下
    2015-12-12
  • Java基础教程之final关键字浅析

    Java基础教程之final关键字浅析

    这篇文章主要给大家介绍了关于Java基础教程之final关键字的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • IDEA如何实现批量修改变量名

    IDEA如何实现批量修改变量名

    这篇文章主要介绍了IDEA如何实现批量修改变量名问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java HttpClient执行请求时配置cookie流程详细讲解

    Java HttpClient执行请求时配置cookie流程详细讲解

    这篇文章主要介绍了Java HttpClient执行请求时配置cookie流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-02-02
  • string类和LocalDateTime的相互转换方式

    string类和LocalDateTime的相互转换方式

    这篇文章主要介绍了string类和LocalDateTime的相互转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02

最新评论