一、@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