新西兰服务器

Mybatis-Plus怎么使用@TableField实现自动填充日期


Mybatis-Plus怎么使用@TableField实现自动填充日期

发布时间:2022-04-27 17:42:26 来源:高防服务器网 阅读:75 作者:iii 栏目:开发技术

本文小编为大家详细介绍“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>

三、创建实体类

@Data  public 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  @Component  public 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  @RequiredArgsConstructor  public 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实现自动填充日期”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注高防服务器网行业资讯频道。

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[