一、前言我们在日常开发中经常使用ORM框架 , 比如Mybatis、tk.Mybatis、Mybatis-Plus 。不过最广泛的还是Mybatis-Plus , 我们的一些表 , 都会有创建时间、更新时间、创建人、更新人 。这些我们每次都要自己手动set吃力不讨好 , 所以Mybatis-Plus带来了自动填充 , 今天小编带大家一起学习一下 , 本次以填充日期为例哈!!学到的小伙伴记得一键三连哦~~
二、导入maven依赖<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version> </dependency>
三、创建实体类@Datapublic class Test implements Serializable {private static final long serialVersionUID = 337361630075002456L;@TableId(type= IdType.ASSIGN_ID)private long id;private String name;private String gender;private String phone;@TableField(value = https://www.isolves.com/it/cxkf/kj/2022-04-24/"create_date",fill = FieldFill.INSERT)private LocalDateTime createDate;@TableField(value = "update_date",fill = FieldFill.UPDATE)private LocalDateTime updateDate;}
四、自定义实现类MyMetaObjectHandler@Slf4j@Componentpublic class MyMetaObjectHandler implements MetaObjectHandler {@Overridepublic void insertFill(MetaObject metaObject) {log.info("start insert fill ....");this.strictInsertFill(metaObject, "createDate", LocalDateTime.class, LocalDateTime.now());}@Overridepublic void updateFill(MetaObject metaObject) {log.info("start update fill ....");this.strictUpdateFill(metaObject, "updateDate", LocalDateTime.class, LocalDateTime.now());}}
五、Controller测试@RestController@RequestMApping("/test")@Slf4j@RequiredArgsConstructorpublic class TestController {@NonNullprivate TestMapper testMapper;@GetMapping("/insert")public Result insert(@RequestBody Test test){testMapper.insert(test);return Result.success("插入成功");}@PutMapping("/update")public Result update(@RequestBody Test test){testMapper.updateById(test);return Result.success("插入成功");}}
【Mybatis-Plus使用@TableField实现自动填充日期】友情提示:
这个@RequiredArgsConstructor注解不明白的看我这篇文章哦!---> 还在使用@Autowrired注入?不妨试试@RequiredArgsConstructor注解完美替代_掉发的小王的博客-CSDN博客
六、测试添加请求地址:
localhost:8089/test/insert
请求内容:
{"name":"王","gender":"男","phone":"123"}
文章插图
文章插图
我们可以看到没有输入日期 , 自动创建了哈!!
七、测试更新请求地址:
localhost:8089/test/update
请求内容:
{"id":14,"name":"王","gender":"男","phone":"123"}
文章插图
文章插图
此时我们看到更新也是可以自动填充的!!
八、总结总的来说还是比较方便的 , 减轻开发的工作量 , 代码更加优雅哈!
特别提醒:自动填充的类型要和实体类的类型一致 , 不然不会填充哈!!
喜欢小编的记得关注一波哦!!
推荐阅读
- 分享一些有趣的,你从不使用的html属性
- 3分钟体验Deepin,热门国产桌面系统之一,win用户可无缝使用
- 欧姆龙NJ/NX控制器如何使用软件进行系统配置?
- 瓷砖打印机的使用及注意事项
- 使用彩色喷墨打印机有哪些技巧
- 火爆外网的 DGS 框架使用,更方便 GraphQL 的使用
- 红茶使用下投法,冲泡红茶最佳壶形
- 安卓虚拟引擎:免 ROOT 使用 XP 模块、应用多开
- 如何使用手动剃须刀
- 电动剃须刀的使用