国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【業(yè)務(wù)功能篇46】項(xiàng)目中的Entity基類 固定的相關(guān)創(chuàng)建人,創(chuàng)建時(shí)間字段..

這篇具有很好參考價(jià)值的文章主要介紹了【業(yè)務(wù)功能篇46】項(xiàng)目中的Entity基類 固定的相關(guān)創(chuàng)建人,創(chuàng)建時(shí)間字段..。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

在搭建的后端應(yīng)用中,我們使用了 mybatis-plus 框架作為擴(kuò)展,減少 sql 的書(shū)寫(xiě),提升開(kāi)發(fā)效率,其中有個(gè)功能很好用,就是自動(dòng)填充。在項(xiàng)目中,我們的后臺(tái)表一般會(huì)具有一些標(biāo)準(zhǔn)字段,作為強(qiáng)制建表規(guī)范,比如:

  • create_by 創(chuàng)建者
  • creation_date 創(chuàng)建時(shí)間
  • last_updated_by 最后更新者
  • last_update_date 最后更新時(shí)間

這些字段我們會(huì)放到 Entity類中,作為其他 Entity的超類,這樣就不用重復(fù)定義了,但是有個(gè)問(wèn)題,在每次修改數(shù)據(jù)時(shí),都需要給這幾個(gè)字段賦值,這顯然就有點(diǎn)繁瑣了,如果能系統(tǒng)自動(dòng)讀取相關(guān)值并填充就能省略很多代碼,mybatis plus 的自動(dòng)填充正是一個(gè)這樣的功能。

創(chuàng)建這個(gè)Entity基類

package com.hjycommunity.common.core.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.Map;

/**
 * Entity 基類
 **/
public class BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 搜索值
     * @TableField(exist = false)注解加載bean屬性上,表示當(dāng)前屬性不是數(shù)據(jù)庫(kù)的字段,
     * 但在項(xiàng)目中必須使用,這樣在新增等使用bean的時(shí)候,mybatis-plus就會(huì)忽略這個(gè),不會(huì)報(bào)錯(cuò)
     */
    @TableField(exist = false)
    private String searchValue;

    /**
     * 創(chuàng)建者
     * fill 在需要被填充的字段上使用注解,聲明什么時(shí)候要被填充
     * FieldFill.INSERT 只在插入時(shí)填充
     * FieldFill.INSERT_UPDATE 插入和更新時(shí)都填充
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /** 創(chuàng)建時(shí)間 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /** 更新者 */
    @TableField(fill = FieldFill.INSERT)
    private String updateBy;

    /** 更新時(shí)間 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date updateTime;

    /** 備注 */
    private String remark;

    /** 請(qǐng)求參數(shù) */
    @TableField(exist = false)
    private Map<String, Object> params;

    //get/set ......
}

自定義填充控制器

  • 前面我們說(shuō)到mybatis plus的自動(dòng)填充功能,除了要在字段上添加相關(guān)注解以外,自定義類還需要實(shí)現(xiàn)MetaObjectHandler接口,重寫(xiě)接口方法,實(shí)現(xiàn)公共字段自動(dòng)寫(xiě)入。
  • 創(chuàng)建自定義填充控制器,包結(jié)構(gòu):com.xxx.common.handler
/**
 * 自定義填充控制器
 * @author spikeCong
 * @date 2023/2/28
 **/
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    //insert時(shí)要填充的字段
    @Override
    public void insertFill(MetaObject metaObject) {
        //根據(jù)屬性名稱設(shè)置要填充的值
        this.strictInsertFill(metaObject,"createBy",String.class,"admin");
        this.strictInsertFill(metaObject,"updateBy",String.class,"admin");
        this.strictInsertFill(metaObject,"createTime", Date.class,new Date());
        this.strictInsertFill(metaObject,"updateTime", Date.class,new Date());

    }

    //update操作時(shí)要填充的字段
    @Override
    public void updateFill(MetaObject metaObject) {
        this.strictUpdateFill(metaObject,"updateBy",String.class,"admin");
        this.strictUpdateFill(metaObject,"updateTime", Date.class,new Date());
    }
}

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-589444.html

到了這里,關(guān)于【業(yè)務(wù)功能篇46】項(xiàng)目中的Entity基類 固定的相關(guān)創(chuàng)建人,創(chuàng)建時(shí)間字段..的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Boot 項(xiàng)目設(shè)計(jì)業(yè)務(wù)操作日志功能,寫(xiě)得太好了!

    Spring Boot 項(xiàng)目設(shè)計(jì)業(yè)務(wù)操作日志功能,寫(xiě)得太好了!

    很久以前都想寫(xiě)這篇文章,一直沒(méi)有空,但直到現(xiàn)在我對(duì)當(dāng)時(shí)的情景還有印象,之所以有印象是因?yàn)樾枨蠛芎?jiǎn)單,業(yè)務(wù)操作日志的記錄與查詢的功能,但是具體實(shí)現(xiàn)真的很爛,具體的爛法會(huì)在反面示例里細(xì)說(shuō),領(lǐng)導(dǎo)以及客戶層面很認(rèn)可,一系列迷之操作,讓我印象深刻。 客戶

    2024年02月11日
    瀏覽(15)
  • 前后端分離項(xiàng)目中實(shí)現(xiàn)業(yè)務(wù)中常用圖形驗(yàn)證碼驗(yàn)證功能(詳細(xì))

    前后端分離項(xiàng)目中實(shí)現(xiàn)業(yè)務(wù)中常用圖形驗(yàn)證碼驗(yàn)證功能(詳細(xì))

    圖形驗(yàn)證碼是驗(yàn)證碼的一種,有防止黑客對(duì)某一特定注冊(cè)用戶用程序暴力破解私人信息、惡意破解密碼、刷票、論壇灌水的作用。 圖形驗(yàn)證碼是一種區(qū)分用戶是計(jì)算機(jī)還是人的公共全自動(dòng)程序。驗(yàn)證碼是現(xiàn)在很多網(wǎng)站通行的方式,由計(jì)算機(jī)生成并評(píng)判,但是只有人類才能解答

    2024年02月04日
    瀏覽(25)
  • 【業(yè)務(wù)功能篇80】Springboot項(xiàng)目 maven配置倉(cāng)庫(kù)&鏡像settings文件分析

    項(xiàng)目中我們需要依賴許多包,那么就涉及到maven配置文件,我們需要配置settings.xml文件,這里面會(huì)配置我們的本地倉(cāng)庫(kù)localRepository ,遠(yuǎn)程倉(cāng)庫(kù):倉(cāng)庫(kù)會(huì)有我們的依賴倉(cāng)庫(kù)repository和插件依賴倉(cāng)庫(kù)pluginRepository, mirror鏡像倉(cāng)庫(kù) 依賴路徑:工程優(yōu)先去本地倉(cāng)庫(kù)找依賴—》 沒(méi)找到就

    2024年02月11日
    瀏覽(26)
  • 【業(yè)務(wù)功能篇45】SSM整合shiro項(xiàng)目:web.xml執(zhí)行順序

    【業(yè)務(wù)功能篇45】SSM整合shiro項(xiàng)目:web.xml執(zhí)行順序

    web.xml 的加載順序是:ServletContext - context-param - listener - filter - servlet 學(xué)習(xí)shiro時(shí),需要配置shiro ,我們需要在filter過(guò)濾器之前,先初始化好shiro組件,不然請(qǐng)求認(rèn)證無(wú)法走到shiro,根據(jù)web.xml的加載順序,listener標(biāo)簽中會(huì)先于filter標(biāo)簽中的組件,所以我們配置shiro的context文件,單獨(dú)

    2024年02月16日
    瀏覽(27)
  • Springboot實(shí)體類entity相關(guān)知識(shí)點(diǎn)詳解

    目錄 entity實(shí)體類相關(guān)知識(shí)點(diǎn)詳解: ? ? ??解釋1:上面代碼使用的注解是 Lombok 提供的注解,用于簡(jiǎn)化實(shí)體類的開(kāi)發(fā)。 ? ? ??解釋2:屬性的注釋自動(dòng)生成問(wèn)題: ? ? ? ? ? ? ? ?解釋3:java序列化反序列化,實(shí)體類實(shí)現(xiàn)Serializable接口: ? ? ? ? ? ? ? ? ? ??java序列化和反

    2024年02月08日
    瀏覽(39)
  • Spring Security 6.x 系列【46】漏洞防護(hù)篇之安全相關(guān)的HTTP響應(yīng)頭

    有道無(wú)術(shù),術(shù)尚可求,有術(shù)無(wú)道,止于術(shù)。 本系列Spring Boot 版本 3.0.4 本系列Spring Security 版本 6.0.2 源碼地址:https://gitee.com/pearl-organization/study-spring-security-demo

    2024年02月07日
    瀏覽(21)
  • 【網(wǎng)安】處理項(xiàng)目中的一些常見(jiàn)漏洞bug(java相關(guān))

    【網(wǎng)安】處理項(xiàng)目中的一些常見(jiàn)漏洞bug(java相關(guān))

    [福利:[ 網(wǎng)絡(luò)安全重磅福利:入門(mén)進(jìn)階全套282G學(xué)習(xí)資源包免費(fèi)分享 !]](網(wǎng)絡(luò)安全重磅福利:入門(mén)進(jìn)階全套282G學(xué)習(xí)資源包免費(fèi)分享! ) 1.寫(xiě)在前面 很多時(shí)候,一些項(xiàng)目,或許都會(huì)有一定的系統(tǒng)安全要求。一般常見(jiàn)于政府項(xiàng)目比較多?。。?項(xiàng)目做完后,都需要做一些安全的掃

    2024年02月13日
    瀏覽(11)
  • 46、如何理解Spring Boot中的Starter

    使用spring + springmvc,如果需要引入mybatis等框架,需要到xml中定義mybatis需要的bean starter就是定義一個(gè)starter的iar包,寫(xiě)一個(gè)@Configuration配置類、將這些bean定義在里面,然后在starter包的META-INF/spring.factories中寫(xiě)入該配置類,springboot會(huì)按照約定來(lái)加載該配置類 開(kāi)發(fā)人員只需要將相應(yīng)

    2024年02月16日
    瀏覽(40)
  • Java中的實(shí)體類(entity class)和model

    編寫(xiě)代碼時(shí),經(jīng)常會(huì)遇到一些具有“現(xiàn)實(shí)”意義的“ 個(gè)體 ”,eg:一個(gè)用戶、一首歌曲、一條評(píng)論等。它們?cè)谶壿嬌鲜峭暾恼w,具有相似的結(jié)構(gòu),但是卻因?yàn)椤?屬性 ”的不同而不同。 下面看一個(gè)典型的Entity class: 總結(jié): 一個(gè)Entity類,代表了某一種“個(gè)體”,類中的屬

    2024年02月16日
    瀏覽(18)
  • CVPR2023中的數(shù)據(jù)集工作(共46篇)

    CVPR2023中的數(shù)據(jù)集工作(共46篇)

    本文搜集了CVPR2023中 所有 的 以數(shù)據(jù)集發(fā)布為主 的工作,共搜集到 46 篇。所有標(biāo)題都附帶文章超鏈接,請(qǐng)君享用~ An Image Quality Assessment Dataset for Portraits LOGO: A Long-Form Video Dataset for Group Action Quality Assessment Towards Robust Tampered Text Detection in Document Image: New Dataset and New Solution CLO

    2024年02月10日
    瀏覽(40)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包