我們在實(shí)際開發(fā)中往數(shù)據(jù)庫中存放數(shù)據(jù)的時(shí)候會有一些默認(rèn)值姓建,比如創(chuàng)建時(shí)間沼头,更新時(shí)間之類的曙蒸,這里給大家安利兩種方法
1闷尿,如果使用的是創(chuàng)建時(shí)間和更新時(shí)間這種字段我們可以使用數(shù)據(jù)庫的工具操作
數(shù)據(jù)庫中勾選這個(gè)在你每次更新數(shù)據(jù)庫中這個(gè)表的字段的時(shí)候都會獲取當(dāng)前的時(shí)間做為這個(gè)字段的值葫慎,CURRENT_TIMESTAMP:將默認(rèn)值設(shè)置為這個(gè)參數(shù)則會在創(chuàng)建的時(shí)候獲取當(dāng)前時(shí)間作為這個(gè)參數(shù)的值衔彻,這是基于數(shù)據(jù)庫完成對這些字段的維護(hù)操作,適用于簡單的可以直接拿到值偷办,不需要從請求獲取參數(shù)的場景艰额,如果是我在創(chuàng)建對象的時(shí)候需要記錄創(chuàng)建對象的人是誰,更新的時(shí)候需要知道更新的人是誰椒涯,這種方法就沒有辦法滿足了
2柄沮,基于mybatis-plus的注解的方式完成新建和更改的時(shí)候給參數(shù)賦值
2.1簡單的賦值,如1中所說的給創(chuàng)建時(shí)間,更改時(shí)間賦值
/*** 店鋪的創(chuàng)建時(shí)間 */@TableField(value = "create_time",fill = FieldFill.INSERT)private LocalDateTime createTime;/** * 店鋪的更新時(shí)間 */@TableField(value = "modify_time",fill = FieldFill.INSERT_UPDATE)private LocalDateTime modifyTime;
這里我們使用create_time和modify_time字段表示創(chuàng)建時(shí)間和更新時(shí)間祖搓,我們在加上TableField的fill 屬性的時(shí)候就是說當(dāng)前這個(gè)字段的字段填充策略是什么