Mybatis-Plus时间自动填充
时间:2022-07-22
本文章向大家介绍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命名冲突了,这点也怪我,没考虑好,但是问题不大,我们照常测试。
我们可以看到基本实现了时间上的自动填充。
- 程序猿的日常——Java基础之抽象类与接口、枚举、泛型
- addSubView需要注意的几个点为什么要在addsubview:一个view对象后,release它?
- nodejs 命令行、自定义
- GeForce驱动EULA更新惹争议,NVIDIA的理由是这样的
- 关于HTML面试题汇总之visibility
- 加密狗进场暴富开始?请别侮辱区块链和游戏
- 程序猿的日常——Java基础之clone、序列化、字符串、数组
- [你必须知道的.NET] 第四回:后来居上:class和struct
- oc 中随机数的用法(arc4random() 、random()、CCRANDOM_0_1()
- 央行出台条码支付新规;美团打车将在7大城市上线;国产人工智能平台型芯片首发;苹果就降速门致歉
- 阿三又让全球看笑话,无人驾驶的地铁名不副实,还直接跑到大街上
- 盘点:2017年度这些科学大事件,哪个给您印象最深?
- 跳台阶问题
- mac下使用github
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释