spring boot實體類的一些註解學習筆記

2022-01-24 06:33:39 字數 1514 閱讀 7815

一 實體類:entity /domain/model

1)使用lombuk外掛程式:pligins->安裝lombok外掛程式

加了@data註解的類,編譯後會自動給我們加上下列方法:

2)@equalsandhashcode

原文中提到的大致有以下幾點:

1. 此註解會生成equals(object other) 和 hashcode()方法。

2. 它預設使用非靜態,非瞬態的屬性

3. 可通過引數exclude排除一些屬性

4. 可通過引數of指定僅使用哪些屬性

5. 它預設僅使用該類中定義的屬性且不呼叫父類的方法

6. 可通過callsuper=true解決上一點問題。讓其生成的方法中呼叫父類的方法。

另:@data相當於@getter @setter @requiredargsconstructor @tostring @equalsandhashcode這5個註解的合集。

通過官方文件,可以得知,當使用@data註解時,則有了@equalsandhashcode註解,那麼就會在此類中存在equals(object other) 和 hashcode()方法,且不會使用父類的屬性,這就導致了可能的問題。

比如,有多個類有相同的部分屬性,把它們定義到父類中,恰好id(資料庫主鍵)也在父類中,那麼就會存在部分物件在比較時,它們並不相等,卻因為lombok自動生成的equals(object other) 和 hashcode()方法判定為相等,從而導致出錯。

想要不出現類屬性相同錯誤@equalsandhashcode(callsuper = false)

3)@accessors(chain = true

翻譯是訪問器。通過該註解可以控制getter和setter方法的形式。

4)mybatis-plus的@tableld:屬性與主鍵的對映關係。例如 @tableid(value = "company_id", type = idtype.input)

@tablefield:列與屬性的對映關係。例如@tablefield("company_id")

5)@tablelogic表邏輯處理註解(邏輯刪除)

執行是效果:

加@tablelogic的情況下

走 update 表名 set 加註解的列=值 where del=值

不加@tablelogic的情況下

走 delete from 表名 where del=值

6)在springmvc後台控制層獲取引數的方式主要有兩種,

一種是request.getparameter("name"),

另外一種是用註解@requestparam直接獲取。這裡主要講這個註解

springboot 實體類註解詳解(菜鳥筆記)

tostring entity getter setter allargsconstructor noargsconstructor generatorvalue註解 jpa通用策略生成器 genericgenerator註解 自定義主鍵生成策略 1.generator string jpa 持續性...

建立實體類

下面直奔今天的主題 建立實體類 一點小插曲 接觸abp框架之前,一直都是使用的ef的dbfirst,在那種模式下,我們只要設計好資料庫,然後直接通過模板就生成了實體層,甚至都沒怎麼留意實體層的 是什麼樣子。現在要使用codefirst,就要反過來,先要寫 了,真有點不適應。好吧,為了學好abp,也要...

實體類的動態生成(一)

在應用開發中,通常都會涉及各種 pojo poco 實體類 do,dto,bo,vo 的編寫,有時這些實體類還需要實現inotifypropertychanged介面以支援屬性變更通知,一般我們都會手寫這些 或者通過工具根據資料庫表定義抑或別的什麼模板 對映檔案之類的來生成它們。但是,在業務實現中往...