溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MyBatis-Plus非表字段的處理方法有哪些

發(fā)布時(shí)間:2021-08-31 15:10:47 來(lái)源:億速云 閱讀:152 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)MyBatis-Plus非表字段的處理方法有哪些,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

MyBatis-Plus非表字段的處理方式

1、使用關(guān)鍵字

transient修飾字段,不讓這個(gè)字段參與序列化

//備注
    private transient String remark;

2、關(guān)鍵字static

mybatis不會(huì)給static構(gòu)建setter和getter,需要自己構(gòu)建setter和getter方法,全類只有一份,沒(méi)有每個(gè)對(duì)象都有。

//備注
    private static String remark;
    public static void setRemark(String remark) {
        User.remark = remark;
    }
    public static String getRemark() {
        return remark;
    }

3、使用@TableField注解

把exist設(shè)置為false,可以保證每個(gè)對(duì)象都有。

 @TableField(exist = false)
    private String remark;

mybatisplus 非數(shù)據(jù)庫(kù)字段設(shè)置

transient  Dept dept;

使用transient修飾

我們都知道一個(gè)對(duì)象只要實(shí)現(xiàn)了Serilizable接口,這個(gè)對(duì)象就可以被序列化,java的這種序列化模式為開發(fā)者提供了很多便利,我們可以不必關(guān)系具體序列化的過(guò)程,只要這個(gè)類實(shí)現(xiàn)了Serilizable接口,這個(gè)類的所有屬性和方法都會(huì)自動(dòng)序列化。

然而在實(shí)際開發(fā)過(guò)程中,我們常常會(huì)遇到這樣的問(wèn)題,這個(gè)類的有些屬性需要序列化,而其他屬性不需要被序列化,打個(gè)比方,如果一個(gè)用戶有一些敏感信息(如密碼,銀行卡號(hào)等),為了安全起見(jiàn),不希望在網(wǎng)絡(luò)操作(主要涉及到序列化操作,本地序列化緩存也適用)中被傳輸,這些信息對(duì)應(yīng)的變量就可以加上transient關(guān)鍵字。換句話說(shuō),這個(gè)字段的生命周期僅存于調(diào)用者的內(nèi)存中而不會(huì)寫到磁盤里持久化。

@TableField(exist = false)

關(guān)于“MyBatis-Plus非表字段的處理方法有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI