Mybatis-plus學習筆記(十一)自動填充功能
1.快速開始
2.程式碼生成器
3.CRUD介面——Service CRUD介面
4.CRUD介面——Mapper CRUD介面
5.條件構造器
6.分頁外掛
7.Sequence主鍵
8.自定義ID生成器
9.邏輯刪除
10.樂觀鎖外掛
11.自動填充
在我的理解中,自動填充就是一些原本需要我們手動去敲程式碼填充資料庫欄位中的值,現在改為由mybatis-plus給你做了
比如,你的資料庫中含有資料的新增時間(gmt_create)和修改時間(gmt_modified),你原來新增資料的時候要set gmt_create ,修改的時候要set
gmt_modified,有了mybatis-plus,這些操作全部就不要了,僅僅只需要簡單的配置一下就可以了。
1.資料庫表欄位新增
2.實體類變數新增
@ApiModelProperty(value = "新增時間")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime gmtCreate;
@ApiModelProperty(value = "修改時間")
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime gmtModified;
3.自定義實現類
@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
log.info("start insert fill ....");
this.setFieldValByName("gmtCreate", LocalDateTime.now(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
log.info("start update fill ....");
this.setFieldValByName("gmtCreate", LocalDateTime.now(), metaObject);
this.setFieldValByName("gmtModified", LocalDateTime.now(), metaObject);
}
}
測試程式碼:
//插入操作
@RequestMapping("/insert")
public Integer version() {
User user = new User();
user.setId(8L);
user.setName("hk4445");
user.setAge(28);
user.setEmail("2284612137@qq.com");
int insert = userMapper.insert(user);
return insert;
}
//更新操作
@RequestMapping("/update")
public Integer update() {
User user = userMapper.selectById(8L);
user.setName("hk10101");
int update = userMapper.updateById(user);
return update;
}
初始資料庫:
訪問 http://localhost:8080/hk/insert 後的資料庫
訪問 http://localhost:8080/hk/update 後的資料庫
從上面可以看出,我們並沒有在插入資料到資料庫的時候新增時間值
而是通過配置進入
自動填充就是這個意思
相關文章
- SpringBoot學習筆記(十七:MyBatis-Plus )Spring Boot筆記MyBatis
- AC自動機學習筆記筆記
- AC 自動機學習筆記筆記
- 【mybatis-plus】主鍵id生成、欄位自動填充MyBatis
- 英語學習詳細筆記(十一)動名詞筆記
- ES(2017)學習筆記(十一)【Async】筆記
- ReactNative學習筆記十一之FlatListReact筆記
- Vue學習筆記(十一):路由管理Vue筆記路由
- hive學習筆記之十一:UDTFHive筆記
- 字尾自動機學習筆記筆記
- JVM學習筆記——自動記憶體管理JVM筆記記憶體
- Redis學習筆記(十一) 伺服器Redis筆記伺服器
- 工作學習筆記(十一)Lambda 表示式筆記
- Nginxhttp模組(學習筆記二十一)NginxHTTP筆記
- Java學習筆記——第十一天Java筆記
- JavaWeb學習筆記——第十一天JavaWeb筆記
- oracle學習筆記(十一) 高階查詢Oracle筆記
- 機器學習框架ML.NET學習筆記【9】自動學習機器學習框架筆記
- 工作學習筆記(十五)Mybatis-Plus專案中使用eq筆記MyBatis
- Auto Machine Learning 自動化機器學習筆記Mac機器學習筆記
- redis學習筆記(三)–Redis的功能Redis筆記
- Django學習筆記(12)——分頁功能Django筆記
- Go學習筆記-Gin常用功能Go筆記
- 學習筆記(十一):ArkUi-彈性佈局 (Flex)筆記UIFlex
- UI自動化學習筆記- 日誌相關操作UI筆記
- Laravel 學習筆記之一:備份資料以及資料填充Laravel筆記
- MyBatis-Plus-實用的功能自動填充欄位MyBatis
- ES[7.6.x]學習筆記(十一)與SpringBoot結合筆記Spring Boot
- 工程倫理第十一章學習筆記2020最新筆記
- UI自動化學習筆記- PO模型介紹和使用UI筆記模型
- 第一個完整的spring查詢功能學習筆記【Spring工程學習筆記(二)】Spring筆記
- Vue | 指令實現自動翻譯填充英文名功能Vue
- 動態規劃學習筆記動態規劃筆記
- QT學習筆記4(動畫)QT筆記動畫
- Mudo C++網路庫第十一章學習筆記C++筆記
- Python零基礎學習筆記(二十一)——dict字典Python筆記
- numpy的學習筆記\pandas學習筆記筆記
- 結構動力學教材-學習筆記筆記