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

您的位置:首頁技術文章
文章詳情頁

Mybatis plus通用字段自動填充的示例

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

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

通常是為create_time賦值為系統的當前時間、update_time賦值為系統修改操作執行時的當前時間。 create_by(創建人)、update_by(修改人)賦值為當前的登錄用戶的用戶名

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

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

一、調整數據庫表結構

以mysql數據庫環境下的xxx_yyy_zzz表為例,在原有的表字段的基礎上,添加下面的四個通用數據維護字段。

ALTER TABLE `xxx_yyy_zzz` ADD COLUMN `create_by` VARCHAR(64) NOT NULL COMMENT ’本條記錄創建人’;ALTER TABLE `xxx_yyy_zzz` ADD COLUMN `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ’本條記錄創建時間’;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 ’本條記錄的修改時間’;二、通用維護信息父類-自動賦值的字段

既然我們對某一張表的數據進行新增創建、修改信息的維護,我們的實體類也要做必要的調整。為了避免為每一個實體類都加上這四個成員變量,我們定義一個父類BaseColumns。

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

下文實體類XxxYyyZzz對應數據庫中的xxx_yyy_zzz表,除了以上四個通用字段,xxx_yyy_zzz表還包含其他的業務字段。

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

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

比如在進行數據更新的時候,下面的這兩行代碼就不需要寫了,由updateFill(MetaObject metaObject)自動完成

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

同理,在數據insert操作的時候,insertFill(MetaObject metaObject)將被自動執行。

原文鏈接:字母哥博客

以上就是Mybatis plus通用字段自動填充的示例的詳細內容,更多關于Mybatis plus通用字段自動填充的資料請關注好吧啦網其它相關文章!

標簽: Mybatis 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩三级一区| 亚洲一区久久| 欧美久久精品一级c片| 日本黄色精品| 福利片在线一区二区| 日韩不卡一区| caoporn视频在线| 国产在线观看www| 婷婷激情一区| 99国产精品| 影音先锋国产精品| 日韩精品国产精品| 视频精品一区| 日本中文字幕不卡| 国产日韩一区二区三区在线| 国产日韩欧美三级| 国内自拍视频一区二区三区| 久久精品人人| 日本不卡免费高清视频在线| 999视频精品| 午夜在线精品偷拍| 视频一区中文字幕精品| 日本视频中文字幕一区二区三区| 日韩精品一区二区三区中文字幕| 日韩av不卡一区二区| 久久av综合| 天堂а√在线最新版中文在线| 成人在线网站| 日韩视频二区| 日韩在线成人| 麻豆一区二区三| 免费高潮视频95在线观看网站| 日韩高清中文字幕一区二区| 一区在线观看| 日韩av中文在线观看| 精品视频97| 精品一区亚洲| 日韩精品国产欧美| 女生影院久久| 日韩专区欧美专区| 国产欧美日韩影院| 久久婷婷一区| 日韩精品视频在线看| 欧美极品中文字幕| 国产精品99一区二区| 日韩亚洲精品在线观看| 国产成人精品一区二区三区免费 | 亚洲人成精品久久久| 欧美精品中文字幕亚洲专区| 97精品一区| 久久国产福利| 久久精品色播| 久久亚洲一区| 高清日韩欧美| 在线精品福利| 在线人成日本视频| 亚洲ww精品| 毛片在线网站| 亚洲一区二区小说| 国产 日韩 欧美 综合 一区| 国产精品外国| 久久精品网址| 一区二区高清| 蜜桃av在线播放| 日韩精品一区二区三区中文在线 | 久久国产直播| 日韩av成人高清| 92国产精品| 日韩激情网站| 久久影院一区| 免费一区二区三区在线视频| 国产精品腿扒开做爽爽爽挤奶网站| 精品视频黄色| 日本aⅴ免费视频一区二区三区| 欧美三级网址| 国产精品久久乐| 久久亚洲色图| 日韩精品一区二区三区免费观影| 奇米777国产一区国产二区| 欧美午夜精品一区二区三区电影| 国产精久久一区二区| 免播放器亚洲| 精品无人区麻豆乱码久久久| 蜜臀av一区二区三区| 黑森林国产精品av| 国产高清亚洲| 亚洲精品在线国产| 亚洲激精日韩激精欧美精品| 美女av在线免费看| 欧美成a人片免费观看久久五月天| 亚洲综合丁香| 久久久夜精品| 精品高清久久| 91精品国产自产观看在线 | 欧美精品国产白浆久久久久| 亚洲欧美日韩高清在线| 黄毛片在线观看| 麻豆国产91在线播放| 日韩欧美另类中文字幕| 91久久在线| 国产精品av久久久久久麻豆网| yellow在线观看网址| 国产三级一区| 日韩欧美中文字幕一区二区三区| 国产免费成人| 好看的亚洲午夜视频在线| 日韩电影免费网址| 久久久久伊人| 欧美激情日韩| 久久国产麻豆精品| 少妇精品在线| 亚洲区国产区| 中文字幕日韩高清在线| 激情91久久| 免费av一区| 久久国产欧美| 91精品一区国产高清在线gif| 中文字幕高清在线播放| 国产成人精品一区二区三区在线| 麻豆高清免费国产一区| 国产欧美亚洲一区| 国产精品对白| 麻豆一区二区99久久久久| 牛牛精品成人免费视频| 日韩精品一级| 国产亚洲电影| 国产精品一区二区美女视频免费看| 日韩精品欧美成人高清一区二区| 日韩精品视频一区二区三区| 日韩黄色免费网站| 日本不卡高清| 欧美日韩一区二区三区不卡视频 | 不卡av一区二区| 亚洲成人免费| 亚洲深夜av| 日韩精品一二三四| 首页欧美精品中文字幕| 欧美一级专区| 日韩在线黄色| 国产伦精品一区二区三区视频| 国产欧美日韩一级| 精品一二三区| 九九精品调教| 欧美日韩国产精品一区二区亚洲| 亚洲欧美一区在线| 日韩影院免费视频| 日韩精品久久久久久久软件91| 国产精品一区二区中文字幕| 精品99在线| 国产专区一区| 一区二区三区网站| 日韩精品一级| 里番精品3d一二三区| 日韩中文影院| 亚洲欧美日韩视频二区| 日韩激情一二三区| 国产成人精品一区二区三区视频| 日本在线高清| 美女精品网站| 国产精品麻豆成人av电影艾秋 | 日韩一区网站| 久久久久伊人| 欧美不卡在线| 久久亚洲国产精品一区二区| 国产视频一区二| 日韩国产一区二区三区| 最新日韩av| 国产精品久久乐| 在线一区视频观看| 在线精品国产亚洲| 精品国产中文字幕第一页| 免费视频亚洲| 国产欧美另类| 国户精品久久久久久久久久久不卡| 天堂va欧美ⅴa亚洲va一国产| 欧美激情麻豆| 亚洲国产日韩欧美在线| 91国内精品| 性欧美videohd高精| 综合色一区二区| 国产白浆在线免费观看| 免费黄网站欧美| 精品视频91| 亚洲深深色噜噜狠狠爱网站| 精品免费在线| 欧美专区在线| 激情综合婷婷| 蜜臀精品久久久久久蜜臀| 国产一区二区三区四区五区传媒| 国产精品婷婷| 久久精品亚洲一区二区| 一区二区亚洲精品| 精品久久久久久久| 亚洲三区欧美一区国产二区| 97精品国产福利一区二区三区| 免费看日韩精品| 亚洲天堂1区| 国产精品白丝久久av网站| 久久中文亚洲字幕| 麻豆精品蜜桃视频网站|