专栏首页MyTechnologyMybatis-Plus时间自动填充

Mybatis-Plus时间自动填充

优秀的Mybatis-plus又来了,这次将体验创建时间更新时间的自动填充功能,

记得在阿里巴巴开发手册中提到一个规范,id,create_time,update_time为必备字段。

添加一个测试表,几个简单的字段,主要重点在于datetime类型的新的字段 create_time、update_time

阅读这篇博客时不需要你手动测试案例,因为这东西官方已经有文档介绍,我只是将过程展示一遍。

值得注意的是:一般更新时间是需要初始化,所以我们一般会在insertFill中也加入更新时间的配置。

我的测试表结构如下:

创建SpringBoot项目,引入Lombok和Mysql,MP,相关依赖。

实体类如下

@Data
public class Test {
    @TableId(type= IdType.AUTO)
    private Integer id;
    private String name;
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}

重点在于@TableField注解,可以让该字段完成自动填充功能,下图是FieldFill枚举类的几个参数。

接下来配置一个组件类,实现MetaObjectHandler接口

这一块在官方介绍的比较清楚。

注意事项:

  • 字段必须声明TableField注解,属性fill选择对应策略,该声明告知Mybatis-Plus需要预留注入SQL字段
  • 填充处理器MyMetaObjectHandler在 SpringBoot 中需要声明@Component@Bean注入
  • 要想根据注解FieldFill.xxx字段名以及字段类型来区分必须使用父类的strictInsertFill或者strictUpdateFill方法
  • 不需要根据任何来区分可以使用父类的fillStrategy方法

下面我进行测试,由于Test命名冲突了,这点也怪我,没考虑好,但是问题不大,我们照常测试。

我们可以看到基本实现了时间上的自动填充。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python计算机二级考试指南

    6. 了解Python计算生态在以下方面(不限于)的主要第三方库名称:网络爬虫、数据分析、数据可视化、机器学习、Web开发等。

    乐心湖
  • SpringBoot集成Swagger2

    首先说一下这个东西的作用:它可以很轻松整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。简单说就是Swagg...

    乐心湖
  • JDK三个环境配置

    注意:JDK13版本及以上已经不用配这么多了,直接在 path 变量里面加个 bin 目录路径就可以了。

    乐心湖
  • SQL Server 数据库连接类

    week
  • 009.ELK使用Redis做缓存收集Nginx日志

    CoderJed
  • Goroutine并发调度模型深入之实现一个协程池

    潘少
  • nginx的日志切割小知识

    感兴趣的同学可以查看此链接 http://io.upyun.com/2017/08/19/nginx-signals/

    用户2825413
  • 国庆长假综合症?云真机新功能让你迅速重回高效测试状态

    可是,假期远去,日子还得照样过,为了让技术人员在国庆假期结束后能够加快测试效率,WeTest开发人员,在长假期间中开发了一个新功能——云真机键盘输入。

    WeTest质量开放平台团队
  • 临时处理小记:把Numpy的narray二进制文件转换成json文件

    临时处理一个Numpy的二进制文件,分析知道里面是dict类型,简单小记一下,如果Numpy和Python基础不熟悉可以看我之前写的文章(贴一下Numpy的)

    逸鹏
  • 如何配置GOLDENGATE的数据库日志策略、TRAILFILE策略以及存在坑

    对于基于日志复制的主备数据库来说,由于配置不当或者备库空间问题造成主数据库的日志被自动清理,造成主备数据库同步中断,对于管理人员来说,也许就是...

    徐靖

扫码关注云+社区

领取腾讯云代金券