千家信息网

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

发表于:2024-10-22 作者:千家信息网编辑
千家信息网最后更新 2024年10月22日,本文小编为大家详细介绍"Mybatis-Plus怎么使用@TableField实现自动填充日期",内容详细,步骤清晰,细节处理妥当,希望这篇"Mybatis-Plus怎么使用@TableField实现
千家信息网最后更新 2024年10月22日Mybatis-Plus怎么使用@TableField实现自动填充日期

本文小编为大家详细介绍"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实现自动填充日期"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0