最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

切記用此注解需謹慎?。。?/p>

注解 @TableField 的使用筆記

@TableField 是一個注解,用于標識實體類中的字段映射關系。它是 MyBatis-Plus 框架提供的注解之一,用于與數據庫表字段進行映射。

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

常見的@TableField注解參數包括

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

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

    // getter and setter
}

上述代碼中,userName 字段與數據庫表字段 user_name 進行映射,而 age 字段并不是數據庫表字段。

另外:

@TableName注解,value值指定對應的表名。

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

}

@TableId注解:MyBatisPlus在實現CRUD默認會將Id作為主鍵,在插入數據時,使用雪花算法生成Id,如果主鍵不叫Id則添加功能會失敗。

所以@TableId有下列用法:

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

}

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Netty啟動步驟綁定端口示例方法源碼分析

    Netty啟動步驟綁定端口示例方法源碼分析

    這篇文章主要介紹了Netty啟動步驟綁定端口源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • SpringBoot如何使用ApplicationContext獲取bean對象

    SpringBoot如何使用ApplicationContext獲取bean對象

    這篇文章主要介紹了SpringBoot 如何使用ApplicationContext獲取bean對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • MyBatis?XML映射文件中的批量插入和更新方式

    MyBatis?XML映射文件中的批量插入和更新方式

    文章介紹如何通過MyBatis的XML映射文件實現批量插入和更新,利用<foreach>和ONDUPLICATEKEYUPDATE語法優(yōu)化數據處理效率,避免逐條判斷,適用于數據遷移等場景,提升開發(fā)效率和數據庫性能
    2025-07-07
  • SpringBoot淺析依賴管理與自動配置概念與使用

    SpringBoot淺析依賴管理與自動配置概念與使用

    一般來講SpringBoot項目是不需要指定版本,而SSM項目是需要指定版本,SpringBoot的核心依賴就是spring-boot-starter-parent和spring-boot-starter-web兩個依賴,這篇文章主要介紹了SpringBoot依賴管理與自動配置概念與使用
    2022-10-10
  • Spring Batch入門教程篇

    Spring Batch入門教程篇

    這篇文章主要給大家介紹了Spring Batch入門的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編一起來學習學習吧。
    2017-06-06
  • 淺談JAVA實現選擇排序,插入排序,冒泡排序,以及兩個有序數組的合并

    淺談JAVA實現選擇排序,插入排序,冒泡排序,以及兩個有序數組的合并

    這篇文章主要介紹了JAVA實現選擇排序,插入排序,冒泡排序,以及兩個有序數組的合并,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Java?深入理解創(chuàng)建型設計模式之抽象工廠模式

    Java?深入理解創(chuàng)建型設計模式之抽象工廠模式

    當系統(tǒng)所提供的工廠所需生產的具體產品并不是一個簡單的對象,而是多個位于不同產品等級結構中屬于不同類型的具體產品時需要使用抽象工廠模式,抽象工廠模式是所有形式的工廠模式中最為抽象和最具一般性的一種形態(tài)
    2022-02-02
  • java反射機制的一些學習心得小結

    java反射機制的一些學習心得小結

    這篇文章主要給大家介紹了關于java反射機制的一些學習心得,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • 解決 java.lang.NoSuchMethodError的錯誤

    解決 java.lang.NoSuchMethodError的錯誤

    這篇文章主要介紹了解決 java.lang.NoSuchMethodError的錯誤的相關資料,需要的朋友可以參考下
    2017-06-06
  • Java中創(chuàng)建線程的兩種方式詳細說明

    Java中創(chuàng)建線程的兩種方式詳細說明

    這篇文章主要介紹了Java中創(chuàng)建線程的兩種方式詳細說明,Java使用java.lang.Thread類代表線程,所有的線程對象都必須是Thread類或其子類的實例,每個線程的作用是完成一定的任務,實際上就是執(zhí)行一段程序流即一段順序執(zhí)行的代碼,需要的朋友可以參考下
    2023-11-11

最新評論

芦山县| 古蔺县| 海安县| 抚顺县| 大方县| 绥中县| 湖口县| 武鸣县| 屯昌县| 长乐市| 密山市| 舟曲县| 辽源市| 巍山| 林西县| 大庆市| 穆棱市| 吉林市| 静宁县| 平谷区| 葵青区| 攀枝花市| 琼结县| 都安| 紫云| 泉州市| 厦门市| 高台县| 武义县| 湘西| 潮州市| 舒兰市| 西林县| 莫力| 钟山县| 河曲县| 玉门市| 房山区| 枣庄市| 三穗县| 奈曼旗|