MybatisPlus聯合主鍵註解

一、@TableId註解的用途

MybatisPlus是基於Mybatis的增強工具,提供了很多便捷的註解和方法。@TableId註解是其中的一個。它的作用是標註實體類的主鍵字段,並且可以指定主鍵策略。如果實體類沒有聲明主鍵字段,MybatisPlus會自動識別實體類中的名為"id"的字段為主鍵。示例代碼如下:

@Data
@TableName("user")
publicclassUser{

@TableId(value="user_id",type=IdType.AUTO)
privateIntegeruserId;

privateStringname;

privateIntegerage;

privateStringemail;

//省略getter和setter
}

上面的代碼中,@TableId註解標註在userId字段上,指定主鍵名為"user_id",並且指定自增主鍵策略,即IdType.AUTO。

二、@TableField註解的用途

除了主鍵字段,實體類還有其他的字段需要映射到數據庫表中。@TableField註解的作用就是標註和數據庫表字段的對應關係。示例代碼如下:

@Data
@TableName("user")
publicclassUser{

@TableId(value="user_id",type=IdType.AUTO)
privateIntegeruserId;

@TableField("user_name")
privateStringname;

privateIntegerage;

privateStringemail;

//省略getter和setter
}

上面的代碼中,@TableField註解標註在name字段上,指定實體類中的名字為"name",但是對應的數據庫表中的字段名為"user_name"。

三、聯合主鍵註解的用途

在實際的業務場景中,某些表的主鍵可能不只一個字段。這時,就需要用到MybatisPlus的聯合主鍵註解。@TableId註解可以用在聯合主鍵上,但是需要指定type屬性為IdType.INPUT,然後在實體類中聲明多個主鍵字段,用@TableField指定每個字段對應的數據庫表中的字段名。示例代碼如下:

@Data
@TableName("user")
publicclassUser{

@TableId(value="user_id",type=IdType.INPUT)
@TableField("user_id")
privateIntegeruserId;

@TableId(value="product_id",type=IdType.INPUT)
@TableField("product_id")
privateIntegerproductId;

privateStringname;

privateIntegerage;

privateStringemail;

//省略getter和setter
}

上面的代碼中,@TableId註解標註在userId和productId字段上,指定主鍵名和數據庫表字段名都為"user_id"和"product_id"。

四、多個聯合主鍵註解的用途

有時候,聯合主鍵並不是只有兩個字段,可能有三個或者更多的字段。MybatisPlus同樣支持這種情況,只需要在實體類中聲明多個主鍵字段,並且在每個字段上面標註@TableId註解和@TableField註解。示例代碼如下:

@Data
@TableName("order")
publicclassOrder{

@TableId(value="order_id",type=IdType.INPUT)
@TableField("order_id")
privateIntegerorderId;

@TableId(value="product_id",type=IdType.INPUT)
@TableField("product_id")
privateIntegerproductId;

@TableId(value="user_id",type=IdType.INPUT)
@TableField("user_id")
privateIntegeruserId;

privateDoubleprice;

privateIntegerquantity;

//省略getter和setter
}

上面的代碼中,@TableId註解標註在orderId、productId和userId字段上,指定主鍵名和數據庫表字段名都為"order_id"、"product_id"和"user_id"。

五、總結

MybatisPlus的聯合主鍵註解可以很方便地處理多個字段組成的主鍵。@TableId註解用於標註主鍵字段,可以指定主鍵名和主鍵策略;@TableField註解用於標註普通字段,可以指定字段名和字段類型。在使用聯合主鍵註解時,需要在每個主鍵字段上面都加上@TableId註解和@TableField註解,非常靈活。

原創文章,作者:SWBEQ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/372209.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SWBEQ的頭像SWBEQ
上一篇 2025-04-24 06:40
下一篇 2025-04-24 06:40

相關推薦

  • Hibernate註解聯合主鍵 如何使用

    解答:Hibernate的註解方式可以用來定義聯合主鍵,使用@Embeddable和@EmbeddedId註解。 一、@Embeddable和@EmbeddedId註解 在Hibe…

    編程 2025-04-29
  • Java持久層框架的複合主鍵實現

    用Java持久層框架來操作數據庫時,複合主鍵是常見的需求。這篇文章將詳細闡述javax.persistence複合主鍵的實現方式,並提供完整的示例代碼。 一、複合主鍵的定義 複合主…

    編程 2025-04-27
  • 從多個方面詳解RequestMapping註解

    一、RequestMapping註解的基本用法 RequestMapping註解用於將HTTP請求映射到方法上。下面是一個示例: @Controller public class …

    編程 2025-04-25
  • Mybatisplus面試題詳解

    Mybatisplus是在Mybatis的基礎上進行的封裝,它為我們簡化了開發操作,提供了自動生成常用SQL,自動分頁,及其他一些常用操作的功能,大大提高了開發的效率。在本篇文章中…

    編程 2025-04-25
  • Mybatisplus官網詳解

    一、簡介 Mybatisplus是一個基於mybatis的增強工具,可快速、安全的開發mybatis相關項目。它提供了許多實用的功能,如分頁、條件構造器、性能分析、代碼生成等。 M…

    編程 2025-04-24
  • Swagger常用註解詳解

    Swagger是一個廣泛使用的API文檔工具,它可以根據代碼自動生成API文檔,並提供交互式的API測試界面。在Swagger中,註解不僅僅只是用來生成文檔,還能夠控制API的行為…

    編程 2025-04-23
  • nullable註解的全面解析

    一、什麼是nullable註解? 在開始講解nullable註解之前,先來了解一下它所針對的數據類型:null able。該數據類型是指該變量可以為null值。而nullable注…

    編程 2025-04-23
  • 從多個方面詳解apiimplicitparam註解用法

    在編寫接口文檔時,常常需要在接口的代碼中描述參數的詳細信息。但是這個過程相當繁瑣,而且往往容易出錯。在Swagger中,可以使用@apiimplicitparam註解來自動生成參數…

    編程 2025-04-23
  • Oracle修改主鍵

    一、為什麼需要修改主鍵 主鍵是關係型數據庫里的一項重要的概念,它具有唯一性和非空性,保證了數據庫表中每一條記錄的唯一性。 但是,在實際的應用環境中,我們難免會面對需要修改主鍵的情況…

    編程 2025-04-23
  • Java @Data註解的詳細闡述

    Java @Data註解是一個非常實用的註解,它可以用在Java的類上,用來自動為類生成getter和setter方法、toString方法、hashCode方法、equals方法…

    編程 2025-04-23

發表回復

登錄後才能評論