欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用@TableField(updateStrategy=FieldStrategy.IGNORED)遇到的坑記錄

 更新時(shí)間:2023年11月04日 10:48:54   作者:易不易  
這篇文章主要介紹了使用@TableField(updateStrategy=FieldStrategy.IGNORED)遇到的坑及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@TableField(updateStrategy=FieldStrategy.IGNORED)遇到的坑

@TableField(updateStrategy = FieldStrategy.IGNORED)
private String phoneNo;

因?yàn)槁?lián)系人手機(jī)號碼可以修改為空值,所以加@TableField(updateStrategy = FieldStrategy.IGNORED)注解,可以讓phoneNo為空的時(shí)候用MP更新數(shù)據(jù)庫是不會(huì)忽略此字段。

后來我在修改該對象其他屬性時(shí),沒有設(shè)置phoneNo的值,更新時(shí)發(fā)現(xiàn)phoneNo就被更新為空。所以為了避免此情況我不得重新查詢該字段值再賦值一遍。

切記用此注解需謹(jǐn)慎!??!

注解 @TableField 的使用筆記

@TableField 是一個(gè)注解,用于標(biāo)識實(shí)體類中的字段映射關(guān)系。它是 MyBatis-Plus 框架提供的注解之一,用于與數(shù)據(jù)庫表字段進(jìn)行映射。

在使用 MyBatis-Plus 進(jìn)行數(shù)據(jù)庫操作時(shí),我們可以通過 @TableField 注解來指定實(shí)體類中的字段與數(shù)據(jù)庫表中的字段之間的映射關(guān)系。該注解可以用于類的成員變量上,也可以用于類的方法上。

常見的@TableField注解參數(shù)包括

  • value:指定實(shí)體類字段與數(shù)據(jù)庫表字段的映射關(guān)系,如果實(shí)體類字段名與數(shù)據(jù)庫表字段名一致,可以省略該參數(shù)。
  • exist:指定該字段是否為數(shù)據(jù)庫表字段,默認(rèn)為 true,表示是數(shù)據(jù)庫表字段;設(shè)置為 false 則表示不是數(shù)據(jù)庫表字段。
  • fill:指定該字段是否為自動(dòng)填充字段,用于在插入和更新操作時(shí)自動(dòng)填充字段的值。
public class User {
    @TableField("user_name")
    private String userName;

    @TableField(value = "age", exist = false)
    private Integer age;

    // getter and setter
}

上述代碼中,userName 字段與數(shù)據(jù)庫表字段 user_name 進(jìn)行映射,而 age 字段并不是數(shù)據(jù)庫表字段。

另外:

@TableName注解,value值指定對應(yīng)的表名。

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_user")
public class User {
    private Long id;
    private String name;

}

@TableId注解:MyBatisPlus在實(shí)現(xiàn)CRUD默認(rèn)會(huì)將Id作為主鍵,在插入數(shù)據(jù)時(shí),使用雪花算法生成Id,如果主鍵不叫Id則添加功能會(huì)失敗。

所以@TableId有下列用法:

@TableId(value = “uid”) //value指定當(dāng)前作為主鍵的字段
@TableId(value = “id”,type = IdType.AUTO) //將當(dāng)前屬性所對應(yīng)的字段作為主鍵
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_user")
public class User {
    @TableId
    private Long id;
    private String name;

}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談Java高并發(fā)解決方案以及高負(fù)載優(yōu)化方法

    淺談Java高并發(fā)解決方案以及高負(fù)載優(yōu)化方法

    這篇文章主要介紹了淺談Java高并發(fā)解決方案以及高負(fù)載優(yōu)化方法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringBoot單元測試框架Mockito介紹及使用

    SpringBoot單元測試框架Mockito介紹及使用

    與集成測試將系統(tǒng)作為一個(gè)整體測試不同,單元測試更應(yīng)該專注于某個(gè)類。所以當(dāng)被測試類與外部類有依賴的時(shí)候,尤其是與數(shù)據(jù)庫相關(guān)的這種費(fèi)時(shí)且有狀態(tài)的類,很難做單元測試。但好在可以通過“Mockito”這種仿真框架來模擬這些比較費(fèi)時(shí)的類,從而專注于測試某個(gè)類內(nèi)部的邏輯
    2023-01-01
  • Java實(shí)現(xiàn)經(jīng)典游戲之大魚吃小魚

    Java實(shí)現(xiàn)經(jīng)典游戲之大魚吃小魚

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語言實(shí)現(xiàn)經(jīng)典游戲之大魚吃小魚,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Java游戲開發(fā)有一定幫助,需要的可以參考一下
    2022-08-08
  • CompletableFuture創(chuàng)建及功能使用全面詳解

    CompletableFuture創(chuàng)建及功能使用全面詳解

    這篇文章主要為大家介紹了CompletableFuture創(chuàng)建及功能使用全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 詳解springboot如何更新json串里面的內(nèi)容

    詳解springboot如何更新json串里面的內(nèi)容

    這篇文章主要為大家介紹了springboot 如何更新json串里面的內(nèi)容,文中有詳細(xì)的解決方案供大家參考,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-10-10
  • 十分鐘速懂java知識點(diǎn) System類

    十分鐘速懂java知識點(diǎn) System類

    這篇文章主要介紹了java知識點(diǎn)System類,根據(jù)一次面試總結(jié)的,可以十分鐘速懂System類,感興趣的小伙伴們可以參考一下
    2015-12-12
  • SpringBoot中的事務(wù)全方位詳解

    SpringBoot中的事務(wù)全方位詳解

    這篇文章主要介紹了SpringBoot中的事務(wù)全方位詳解,在Spring中,事務(wù)有兩種實(shí)現(xiàn)方式,分別是編程式事務(wù)管理和聲明式事務(wù)管理兩種方式,文中舉例詳細(xì)說明了這兩種事務(wù),需要的朋友可以參考下
    2023-08-08
  • 關(guān)于Springboot打成JAR包后讀取外部配置文件的問題

    關(guān)于Springboot打成JAR包后讀取外部配置文件的問題

    這篇文章主要介紹了關(guān)于Springboot打成JAR包后讀取外部配置文件的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • mybatis的MappedStatement線程安全探究

    mybatis的MappedStatement線程安全探究

    這篇文章主要為大家介紹了mybatis的MappedStatement線程安全示例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Java日期接收報(bào)錯(cuò):could?not?be?parsed,?unparsed?text?found?at?index?10解決辦法

    Java日期接收報(bào)錯(cuò):could?not?be?parsed,?unparsed?text?found?a

    在做Java開發(fā)時(shí)肯定會(huì)碰到傳遞時(shí)間參數(shù)的情況,這篇文章主要給大家介紹了關(guān)于Java日期接收報(bào)錯(cuò):could?not?be?parsed,?unparsed?text?found?at?index?10的解決辦法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01

最新評論