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

java中常用注解@TableId的詳細(xì)解析

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

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

下面是對 @TableId 注解的詳細(xì)解析:

@TableId 注解詳解

1. 基本用途

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

2. 屬性

value:主鍵字段的名稱,默認(rèn)值為字段名。 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 字段被標(biāo)記為主鍵,但沒有指定生成策略,因此默認(rèn)為 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 字段被標(biāo)記為主鍵,并且指定了生成策略為 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 類型的主鍵。

數(shù)據(jù)庫兼容性:

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

唯一性:

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

總結(jié) 

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

相關(guān)文章

  • Java?Spring?boot日期和時間統(tǒng)一設(shè)置三種方法

    Java?Spring?boot日期和時間統(tǒng)一設(shè)置三種方法

    時間和日期的統(tǒng)一設(shè)置在項目中經(jīng)常是會遇到的,下面這篇文章主要給大家介紹了關(guān)于Java?Spring?boot日期和時間統(tǒng)一設(shè)置的三種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • 快速解決SpringMVC @RequestBody 用map接收請求參數(shù)的問題

    快速解決SpringMVC @RequestBody 用map接收請求參數(shù)的問題

    今天小編就為大家分享快速解決SpringMVC @RequestBody 用map接收請求參數(shù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Java運行時數(shù)據(jù)區(qū)域(內(nèi)存劃分)的深入講解

    Java運行時數(shù)據(jù)區(qū)域(內(nèi)存劃分)的深入講解

    聽說Java運行時環(huán)境的內(nèi)存劃分是挺進BAT的必經(jīng)之路,這篇文章主要給大家介紹了關(guān)于Java運行時數(shù)據(jù)區(qū)域(內(nèi)存劃分)的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Java雙向鏈表倒置功能實現(xiàn)過程解析

    Java雙向鏈表倒置功能實現(xiàn)過程解析

    這篇文章主要介紹了Java雙向鏈表倒置功能實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • Java的MyBatis框架中XML映射緩存的使用教程

    Java的MyBatis框架中XML映射緩存的使用教程

    MyBatis程序在做好XML映射后能夠有緩存的功能,這樣映射過SQL語句的配置以后就可以拿過來直接用了,這里我們來一起總結(jié)一下Java的MyBatis框架中XML映射緩存的使用教程
    2016-06-06
  • Java使用Sftp和Ftp實現(xiàn)對文件的上傳和下載

    Java使用Sftp和Ftp實現(xiàn)對文件的上傳和下載

    這篇文章主要介紹了Java使用Sftp和Ftp實現(xiàn)對文件的上傳和下載,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • spring boot如何指定啟動端口

    spring boot如何指定啟動端口

    這篇文章主要介紹了spring boot如何指定啟動端口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • java中HashMap的原理分析

    java中HashMap的原理分析

    HashMap在Java開發(fā)中有著非常重要的角色地位,每一個Java程序員都應(yīng)該了解HashMap。詳細(xì)地闡述HashMap中的幾個概念,并深入探討HashMap的內(nèi)部結(jié)構(gòu)和實現(xiàn)細(xì)節(jié),討論HashMap的性能問題
    2016-03-03
  • Spring Boot 通過 Mvc 擴展方便進行貨幣單位轉(zhuǎn)換的代碼詳解

    Spring Boot 通過 Mvc 擴展方便進行貨幣單位轉(zhuǎn)換的代碼詳解

    這篇文章主要介紹了Spring Boot 通過 Mvc 擴展方便進行貨幣單位轉(zhuǎn)換,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Mac開源開發(fā)環(huán)境搭建指南之一次配好Git、JDK、Maven、Docker

    Mac開源開發(fā)環(huán)境搭建指南之一次配好Git、JDK、Maven、Docker

    mac開發(fā)環(huán)境配置的核心在于構(gòu)建高效、隔離且可復(fù)用的工程化體系,而非單純安裝軟件,這篇文章主要介紹了Mac開源開發(fā)環(huán)境搭建指南之一次配好Git、JDK、Maven、Docker的相關(guān)資料,需要的朋友可以參考下
    2026-05-05

最新評論

桐庐县| 罗平县| 和硕县| 明光市| 罗田县| 白朗县| 长治市| 克山县| 江山市| 柘城县| 建瓯市| 全南县| 东阳市| 临西县| 尼玛县| 白河县| 灵武市| 共和县| 三亚市| 辉南县| 班戈县| 晋江市| 奎屯市| 柘城县| 棋牌| 隆德县| 洪湖市| 宣化县| 民勤县| 登封市| 嵊州市| 平凉市| 宜兴市| 宜宾市| 闵行区| 米易县| 阳泉市| 安仁县| 曲松县| 朔州市| 海丰县|