本文小编为大家详细介绍“Mybatis-Plus怎么使用@TableField实现自动填充日期”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mybatis-Plus怎么使用@TableField实现自动填充日期”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
一、前言
我们在日常开发中经常使用ORM框架,比如Mybatis、tk.Mybatis、Mybatis-Plus。不过最广泛的还是Mybatis-Plus,我们的一些表,都会有创建时间、更新时间、创建人、更新人。
<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 = "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 { @Override public void insertFill(MetaObject metaObject) { log.info("start insert fill ...."); this.strictInsertFill(metaObject, "createDate", LocalDateTime.class, LocalDateTime.now()); } @Override public 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 { @NonNull private 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("插入成功"); }}
友情提示: 这个@RequiredArgsConstructor
注解不明白的看我这篇文章哦!---> @RequiredArgsConstructor注解
六、测试添加
请求地址:localhost:8089/test/insert
请求内容:
{ "name":"王", "gender":"男", "phone":"123"}
我们可以看到没有输入日期,自动创建了哈!!
七、测试更新
请求地址:localhost:8089/test/update
请求内容:
{ "id":14, "name":"王", "gender":"男", "phone":"123"}
读到这里,这篇“Mybatis-Plus怎么使用@TableField实现自动填充日期”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。