Mybatis-Plus使用@TableField實現(xiàn)自動填充日期的代碼示例
一、前言
我們在日常開發(fā)中經(jīng)常使用ORM框架,比如Mybatis、tk.Mybatis、Mybatis-Plus。不過最廣泛的還是Mybatis-Plus,我們的一些表,都會有創(chuàng)建時間、更新時間、創(chuàng)建人、更新人。這些我們每次都要自己手動set吃力不討好,所以Mybatis-Plus帶來了自動填充,今天小編帶大家一起學(xué)習(xí)一下,本次以填充日期為例哈??!學(xué)到的小伙伴記得一鍵三連哦~~
二、導(dǎo)入maven依賴
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency>
三、創(chuàng)建實體類
@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; }
四、自定義實現(xiàn)類 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
請求內(nèi)容:
{ "name":"王", "gender":"男", "phone":"123" }
我們可以看到?jīng)]有輸入日期,自動創(chuàng)建了哈??!
七、測試更新
請求地址:localhost:8089/test/update
請求內(nèi)容:
{ "id":14, "name":"王", "gender":"男", "phone":"123" } 復(fù)制代碼
此時我們看到更新也是可以自動填充的??!
八、總結(jié)
總的來說還是比較方便的,減輕開發(fā)的工作量,代碼更加優(yōu)雅哈! ==特別提醒==:自動填充的類型要和實體類的類型一致,不然不會填充哈
到此這篇關(guān)于Mybatis-Plus使用@TableField實現(xiàn)自動填充日期的代碼示例的文章就介紹到這了,更多相關(guān)Mybatis-Plus @TableField自動填充日期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot Starters簡介及其優(yōu)劣勢
在這篇文章中,我們將向你介紹Spring Boot Starters,并將討論Spring Boot Starters的優(yōu)點和優(yōu)勢,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05Java Websocket Canvas實現(xiàn)井字棋網(wǎng)絡(luò)游戲
這篇文章主要介紹了Java Websocket Canvas實現(xiàn)井字棋網(wǎng)絡(luò)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08Java畢業(yè)設(shè)計實戰(zhàn)之食品溯源系統(tǒng)的實現(xiàn)
這是一個使用了java+Springboot+Maven+mybatis+Vue+mysql+wd開發(fā)的食品溯源系統(tǒng),是一個畢業(yè)設(shè)計的實戰(zhàn)練習(xí),具有食品溯源該有的所有功能,感興趣的朋友快來看看吧2022-01-01springboot為異步任務(wù)規(guī)劃自定義線程池的實現(xiàn)
本文主要介紹了springboot為異步任務(wù)規(guī)劃自定義線程池,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06