日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Mybatis plus通用字段自動(dòng)填充的示例

瀏覽:28日期:2023-10-20 10:22:31

在進(jìn)行持久層數(shù)據(jù)維護(hù)(新增或修改)的時(shí)候,我們通常需要記錄一些非業(yè)務(wù)字段,比如:create_time、update_time、update_by、create_by等用來維護(hù)數(shù)據(jù)記錄的創(chuàng)建時(shí)間、修改時(shí)間、修改人、創(chuàng)建人等信息。通常情況下我們需要對這些字段進(jìn)行手動(dòng)賦值。賦值的過程也比較冗余,都是重復(fù)操作。

通常是為create_time賦值為系統(tǒng)的當(dāng)前時(shí)間、update_time賦值為系統(tǒng)修改操作執(zhí)行時(shí)的當(dāng)前時(shí)間。 create_by(創(chuàng)建人)、update_by(修改人)賦值為當(dāng)前的登錄用戶的用戶名

xxxYyyZzz.setUpdateBy('zimug'); //數(shù)據(jù)記錄更新操作人xxxYyyZzz.setUpdateTime(new Date()); //數(shù)據(jù)記錄更新操作的時(shí)間

Mybatis plus 為我們提供了一種一勞永逸的自動(dòng)化賦值方式。

一、調(diào)整數(shù)據(jù)庫表結(jié)構(gòu)

以mysql數(shù)據(jù)庫環(huán)境下的xxx_yyy_zzz表為例,在原有的表字段的基礎(chǔ)上,添加下面的四個(gè)通用數(shù)據(jù)維護(hù)字段。

ALTER TABLE `xxx_yyy_zzz` ADD COLUMN `create_by` VARCHAR(64) NOT NULL COMMENT ’本條記錄創(chuàng)建人’;ALTER TABLE `xxx_yyy_zzz` ADD COLUMN `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ’本條記錄創(chuàng)建時(shí)間’;ALTER TABLE `xxx_yyy_zzz` ADD COLUMN `update_by` VARCHAR(64) NOT NULL COMMENT ’本條記錄修改人’;ALTER TABLE `xxx_yyy_zzz` ADD COLUMN `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ’本條記錄的修改時(shí)間’;二、通用維護(hù)信息父類-自動(dòng)賦值的字段

既然我們對某一張表的數(shù)據(jù)進(jìn)行新增創(chuàng)建、修改信息的維護(hù),我們的實(shí)體類也要做必要的調(diào)整。為了避免為每一個(gè)實(shí)體類都加上這四個(gè)成員變量,我們定義一個(gè)父類BaseColumns。

@Datapublic class BaseColumns { /** * 本條記錄創(chuàng)建人,insert操作的時(shí)候自動(dòng)為該字段賦值 */ @TableField(fill = FieldFill.INSERT private String createBy; /** * 本條記錄創(chuàng)建時(shí)間,insert操作的時(shí)候自動(dòng)為該字段賦值 */ @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; /** * 本條記錄更新人,insert或update操作的時(shí)候自動(dòng)為該字段賦值,select = false */ @TableField(fill = FieldFill.INSERT_UPDATE,select = false) private String updateBy; /** * 本條記錄更新時(shí)間,insert或update操作的時(shí)候自動(dòng)為該字段賦值,select = false */ @TableField(fill = FieldFill.INSERT_UPDATE,select = false) private LocalDateTime updateTime;} fill = FieldFill.INSERT表示insert操作的時(shí)候自動(dòng)為該字段賦值 fill = FieldFill.INSERT_UPDATE表示nsert或update操作的時(shí)候自動(dòng)為該字段賦值 select = false表示在使用Mybatis Wrapper條件構(gòu)造器進(jìn)行查詢的時(shí)候,不查詢這個(gè)屬性對應(yīng)的數(shù)據(jù)庫字段。數(shù)據(jù)修改時(shí)間操作人通常對于運(yùn)維更有意義,所以通常不需要展示在web頁面上,所以通常select查詢的時(shí)候不包含它。(這個(gè)內(nèi)容與我們本機(jī)的字段自動(dòng)填充沒有太直接的聯(lián)系,但是在實(shí)際應(yīng)用中是有意義的) 三、實(shí)體類的實(shí)現(xiàn)

下文實(shí)體類XxxYyyZzz對應(yīng)數(shù)據(jù)庫中的xxx_yyy_zzz表,除了以上四個(gè)通用字段,xxx_yyy_zzz表還包含其他的業(yè)務(wù)字段。

@Data@EqualsAndHashCode(callSuper = true)public class XxxYyyZzz extends BaseColumns { //其他的屬性字段}四、自動(dòng)賦值的規(guī)則

@Componentpublic class MybastisColumnsHandler implements MetaObjectHandler { @Resource private JwtTokenUtil jwtTokenUtil; //我的工具類,用于從Token令牌中獲取登陸人信息 //設(shè)置數(shù)據(jù)新增時(shí)候的,字段自動(dòng)賦值規(guī)則 @Override public void insertFill(MetaObject metaObject) { this.strictInsertFill(metaObject, 'createTime', LocalDateTime.class, LocalDateTime.now()); this.strictInsertFill(metaObject, 'updateTime', LocalDateTime.class, LocalDateTime.now()); this.strictInsertFill(metaObject, 'createBy', String.class, jwtTokenUtil.getUsernameFromToken()); this.strictUpdateFill(metaObject, 'updateBy', String.class, jwtTokenUtil.getUsernameFromToken()); } //設(shè)置數(shù)據(jù)修改update時(shí)候的,字段自動(dòng)賦值規(guī)則 @Override public void updateFill(MetaObject metaObject) { this.strictUpdateFill(metaObject, 'updateTime', LocalDateTime.class, LocalDateTime.now()); this.strictUpdateFill(metaObject, 'updateBy', String.class, jwtTokenUtil.getUsernameFromToken()); }} 在數(shù)據(jù)新增的時(shí)候,自動(dòng)為createTime、updateTime、createBy、updateBy賦值,即數(shù)據(jù)初始化。 在數(shù)據(jù)修改的時(shí)候,自動(dòng)為updateTime、updateBy賦值。 JwtTokenUtil是我寫的一個(gè)工具類,從當(dāng)前的登錄用戶JWT Token中獲取當(dāng)前登錄用戶的用戶名。(你的系統(tǒng)里面獲取當(dāng)前登錄用戶名方法和我的不一樣,但總之可以獲取到) 五、實(shí)現(xiàn)效果

比如在進(jìn)行數(shù)據(jù)更新的時(shí)候,下面的這兩行代碼就不需要寫了,由updateFill(MetaObject metaObject)自動(dòng)完成

//xxxYyyZzz.setUpdateBy('zimug'); //數(shù)據(jù)記錄更新操作人//xxxYyyZzz.setUpdateTime(new Date()); //數(shù)據(jù)記錄更新操作的時(shí)間xxxYyyZzzMapper.updateById(xxxYyyZzz);

同理,在數(shù)據(jù)insert操作的時(shí)候,insertFill(MetaObject metaObject)將被自動(dòng)執(zhí)行。

原文鏈接:字母哥博客

以上就是Mybatis plus通用字段自動(dòng)填充的示例的詳細(xì)內(nèi)容,更多關(guān)于Mybatis plus通用字段自動(dòng)填充的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲资源av| 欧美日韩精品一区二区视频| 尹人成人综合网| 欧美va天堂在线| 久久中文字幕二区| 国精品一区二区三区| 蜜桃成人av| 亚洲欧美日韩在线观看a三区 | 国产精品一区二区三区www| 日韩中文字幕一区二区高清99| 中文字幕一区二区av| 日本中文字幕一区二区视频| 欧美日韩黄网站| 久久三级毛片| 久久精品影视| 国产精品毛片在线| 日韩国产一区二| 麻豆精品99| 日韩一区二区中文| 日韩一区二区久久| 日本中文字幕视频一区| 午夜久久av| 国产精品99久久免费| 精品国产免费人成网站| 99热精品久久| 亚洲一区二区小说| 国产精东传媒成人av电影| 日韩免费福利视频| 午夜欧美精品| 日韩不卡在线观看日韩不卡视频| 国产精品hd| 亚洲综合在线电影| 老鸭窝亚洲一区二区三区| 欧美日韩1区2区3区| 国产精品二区不卡| 亚洲激情欧美| 亚洲另类av| 国产一区丝袜| 亚洲作爱视频| 国产欧美日韩综合一区在线播放| 麻豆国产在线| 日韩中文字幕一区二区三区| 国产精品videossex| 久久视频精品| 欧美亚洲二区| 999久久久国产精品| 日本成人在线不卡视频| 国产一区调教| 免费人成精品欧美精品| 美女精品视频在线| 亚洲免费一区二区| 国产精品一区二区99| 亚洲一本视频| 国产精品久久久久久久久久白浆 | 蜜桃av一区二区三区电影| 国产精品嫩模av在线| 欧美一级精品| 91福利精品在线观看| 日韩啪啪电影网| 一区二区三区国产盗摄| 国产盗摄——sm在线视频| 蜜桃久久精品一区二区| 日韩av有码| 日韩欧美精品一区二区综合视频| а√天堂8资源在线| 亚洲精品黄色| 久久久久国产精品一区二区| 日韩免费精品| 在线国产一区二区| 精品国产欧美| 亚洲v天堂v手机在线| 成人免费电影网址| 国产精品红桃| 天使萌一区二区三区免费观看| 美女高潮久久久| 亚欧洲精品视频在线观看| www.com.cn成人| 国产精品高清一区二区| 中文视频一区| 欧美丝袜一区| 国产一区二区三区黄网站| 色综合视频一区二区三区日韩 | 国产一区二区三区亚洲| 久久国产精品毛片| 欧美aa一级| 国产美女视频一区二区| 亚洲午夜电影| 精品久久美女| 欧美色综合网| 亚洲人成亚洲精品| 好吊一区二区三区| 欧美13videosex性极品| 久久99性xxx老妇胖精品| 亚洲综合色婷婷在线观看| 神马日本精品| 国产理论在线| 老色鬼精品视频在线观看播放| 日本一区免费网站| 香蕉久久夜色精品国产| 国产精品av久久久久久麻豆网| 91欧美在线| 国产精品免费99久久久| 日韩视频一二区| 蜜桃久久av一区| 丝袜a∨在线一区二区三区不卡| 国产精品99一区二区| 日韩欧美中文| 成人亚洲一区二区| 国内精品美女在线观看| 久久一区精品| 欧美黄页在线免费观看| 国产乱码精品| 国产欧美丝祙| 国产欧美日韩影院| 久久精品 人人爱| 欧美片网站免费| 日韩国产精品久久久| 日韩中文字幕一区二区高清99| 免费日本视频一区| 久久午夜精品| 蜜桃一区二区三区在线观看 | 亚洲性视频h| 国产高清一区二区| 欧美在线观看视频一区| 91精品国产91久久久久久黑人| 四虎4545www国产精品 | 日韩成人精品一区二区| 超碰在线99| 日韩中文在线电影| 久久天堂精品| 婷婷综合亚洲| 亚洲欧美日韩视频二区| 久久都是精品| 日韩1区2区3区| 国产日本久久| 精品久久久久久久| 国产精品亚洲一区二区三区在线观看| 日韩欧美综合| 欧美特黄一级| 亚洲区国产区| 欧美午夜三级| 久久亚洲黄色| 欧美日韩精品免费观看视欧美高清免费大片| 久久精品官网| 国产午夜久久| 亚洲另类黄色| 国产精品久久久久久久久久白浆 | 久久久亚洲一区| 午夜一级在线看亚洲| 日本不卡不码高清免费观看 | 99tv成人| 久久福利毛片| 91av一区| 日韩av在线中文字幕| 国产一区亚洲| 婷婷五月色综合香五月| 精品丝袜久久| 国产一区亚洲| 日韩精品乱码av一区二区| 久久久国产精品网站| 欧美日韩免费看片| 亚洲一区激情| 国产精品综合| 久久精品观看| 日韩精品午夜视频| 粉嫩av一区二区三区四区五区| 99视频精品全部免费在线视频| 亚洲综合专区| 日韩av自拍| 久久成人精品| 精品视频网站| 欧美专区一区二区三区| 欧美精品99| 中文一区在线| 麻豆国产欧美日韩综合精品二区| 久久国产电影| 日韩精彩视频在线观看| 欧美亚洲日本精品| 亚洲精品四区| 蜜桃视频在线网站| 免费国产亚洲视频| 精品国产乱码久久久久久樱花 | 中文字幕av一区二区三区人| 精品一区二区三区亚洲| 在线亚洲观看| 麻豆国产精品视频| 性色一区二区| 精品国产精品国产偷麻豆 | 高清久久一区| 亚洲视频二区| 国产91在线精品| 亚洲伊人精品酒店| 三级在线看中文字幕完整版| 日韩一区二区三区在线看| 精精国产xxxx视频在线野外| 日韩精品免费观看视频| 99视频精品全国免费| 国产美女久久| 在线综合欧美| 成人高清一区|