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

java中常用注解@TableId的詳細解析

 更新時間:2025年06月10日 09:52:29   作者:東方巴黎~Sunsiny  
@TableId注解是一種常見的Java注解,通常在使用關系型數據庫進行對象關系映射(ORM)時使用,這篇文章主要介紹了java中常用注解@TableId的詳細解析,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

@TableId 是 MyBatis-Plus 提供的一個注解,用于標識實體類中的主鍵字段。它可以幫助 MyBatis-Plus
在執(zhí)行數據庫操作時正確地識別和處理主鍵字段。

下面是對 @TableId 注解的詳細解析:

@TableId 注解詳解

1. 基本用途

標識主鍵:@TableId 注解用于標記實體類中的某個字段為主鍵字段。 自動生成策略:可以指定主鍵的生成策略,如自增、UUID 等。

2. 屬性

value:主鍵字段的名稱,默認值為字段名。 type:主鍵生成策略,常用的有以下幾種:
IdType.AUTO:自動增長(適用于自增主鍵)。 IdType.NONE:不指定主鍵生成策略,需要手動賦值。
IdType.ASSIGN_ID:使用雪花算法生成唯一 ID(Long 類型)。 IdType.ASSIGN_UUID:使用 UUID
生成唯一 ID(String 類型)。 IdType.INPUT:手動輸入主鍵值。

3. 示例

示例 1:基本用法

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("sys_job_log")
public class SysJobLog {

    @TableId
    private String jobLogId;

    private String jobName;
    private String jobGroup;
    private String invokeTarget;
    private String jobMessage;
    private String status;
    private String exceptionInfo;
    private Date createTime;

    // 其他字段和方法
}

在這個示例中,jobLogId 字段被標記為主鍵,但沒有指定生成策略,因此默認為 IdType.AUTO。

示例 2:指定生成策略

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("sys_job_log")
public class SysJobLog {

    @TableId(value = "job_log_id", type = IdType.ASSIGN_UUID)
    private String jobLogId;

    private String jobName;
    private String jobGroup;
    private String invokeTarget;
    private String jobMessage;
    private String status;
    private String exceptionInfo;
    private Date createTime;

    // 其他字段和方法
}

在這個示例中,jobLogId 字段被標記為主鍵,并且指定了生成策略為 IdType.ASSIGN_UUID,即使用 UUID 生成唯一
ID。

使用場景

1.自增主鍵:

   @TableId(type = IdType.AUTO)
   private Long id;

2.UUID 主鍵:

   @TableId(type = IdType.ASSIGN_UUID)
   private String id;

3.手動賦值主鍵:

@TableId(type = IdType.INPUT)
private String customId;

注意事項

字段類型:

IdType.ASSIGN_ID 適用于 Long 類型的主鍵。 IdType.ASSIGN_UUID 適用于 String 類型的主鍵。

數據庫兼容性:

不同的數據庫對主鍵生成策略的支持可能有所不同,例如 MySQL 支持自增主鍵,而 Oracle 需要使用序列。

唯一性:

確保生成的主鍵值在數據庫中是唯一的,以避免主鍵沖突。 通過使用 @TableId
注解,你可以靈活地管理和配置實體類中的主鍵字段,從而更好地與數據庫進行交互。

總結 

到此這篇關于java中常用注解@TableId詳細解析的文章就介紹到這了,更多相關java注解@TableId內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺談String.split()遇到空字符串的幾種情況

    淺談String.split()遇到空字符串的幾種情況

    這篇文章主要介紹了淺談String.split()遇到空字符串的幾種情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • java實戰(zhàn)之飛機大戰(zhàn)小游戲(源碼加注釋)

    java實戰(zhàn)之飛機大戰(zhàn)小游戲(源碼加注釋)

    這篇文章主要介紹了java實戰(zhàn)之飛機大戰(zhàn)小游戲(源碼加注釋),文中有非常詳細的代碼示例,對正在學習java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 解讀Java中打印輸出對象內容為什么可以不寫.toString()

    解讀Java中打印輸出對象內容為什么可以不寫.toString()

    這篇文章主要介紹了解讀Java中打印輸出對象內容為什么可以不寫.toString()問題,具有很的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 解決MyBatis報錯:There is no getter for property named'Xxx'in'class xxx.xxx.Xxx'

    解決MyBatis報錯:There is no getter for 

    這篇文章主要介紹了解決MyBatis報錯:There is no getter for property named'Xxx'in'class xxx.xxx.Xxx'問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 深入理解Java class文件格式_動力節(jié)點Java學院整理

    深入理解Java class文件格式_動力節(jié)點Java學院整理

    對于理解JVM和深入理解Java語言, 學習并了解class文件的格式都是必須要掌握的功課
    2017-06-06
  • SpringMVC對日期類型的轉換示例

    SpringMVC對日期類型的轉換示例

    本篇文章主要介紹了SpringMVC對日期類型的轉換示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Java結合Spark的數據清洗場景及對應的實現(xiàn)方法

    Java結合Spark的數據清洗場景及對應的實現(xiàn)方法

    在大數據處理中,數據清洗是非常重要的一步,數據清洗可以幫助我們去除臟數據、處理缺失值、規(guī)范數據格式等,以確保數據質量和準確性,在本文中,我們將介紹如何使用Java結合Spark框架來實現(xiàn)數據清洗,需要的朋友可以參考下
    2025-05-05
  • Java 細致圖解帶你分析漢諾塔

    Java 細致圖解帶你分析漢諾塔

    漢諾塔問題是一個經典的問題。漢諾塔(Hanoi Tower),又稱河內塔,源于印度一個古老傳說。本文將用Java求解這一問題,感興趣的可以學習一下
    2022-03-03
  • java并發(fā)編程中的SynchronousQueue實現(xiàn)原理解析

    java并發(fā)編程中的SynchronousQueue實現(xiàn)原理解析

    這篇文章主要介紹了java并發(fā)編程中的SynchronousQueue實現(xiàn)原理解析,SynchronousQueue是一個比較特別的隊列,此隊列源碼中充斥著大量的CAS語句,理解起來是有些難度的,為了方便日后回顧,本篇文章會以簡潔的圖形化方式展示該隊列底層的實現(xiàn)原理,需要的朋友可以參考下
    2023-12-12
  • java Long==Long有趣的現(xiàn)象詳解

    java Long==Long有趣的現(xiàn)象詳解

    這篇文章主要給大家介紹了關于java Long==Long有趣的現(xiàn)象的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09

最新評論