目錄
1. 常用注解
@TableName
@TableId
@TableField
2. IdType 枚舉
3. 使用 @TableField 的常見場景
4. 完整示例
5. 總結
在使用 MyBatis-Plus 的過程中,我們經常會用到一些注解來完成實體類與數據庫表字段之間的映射關系。本文將帶你快速入門,了解 常用注解 的使用方法。
1. 常用注解
@TableName
-
作用:指定實體類對應的數據庫表名。
-
示例:
@TableName("tb_user") public class User {}
@TableId
-
作用:指定表中的主鍵字段信息。
-
常用參數:
-
value
:數據庫主鍵字段名。 -
type
:主鍵策略(如AUTO
表示自增)。
-
-
示例:
@TableId(value = "id", type = IdType.AUTO) private Long id;
@TableField
-
作用:指定表中的普通字段信息。
-
常用參數:
-
value
:數據庫對應字段名。 -
exist
:是否為數據庫字段(false
表示不是數據庫字段)。
-
-
示例:
@TableField("username") private String name;@TableField(exist = false) private String address; // 非數據庫字段
2. IdType 枚舉
MyBatis-Plus 提供了多種主鍵生成策略:
-
AUTO:數據庫自增。
-
INPUT:用戶手動輸入,通過
set
方法注入。 -
ASSIGN_ID:分配 ID,底層通過雪花算法生成全局唯一 ID。
示例:
@TableId(type = IdType.AUTO)
private Long id;
3. 使用 @TableField 的常見場景
-
成員變量名與數據庫字段名不一致。
-
成員變量以
is
開頭且為布爾值。 -
成員變量名與數據庫關鍵字沖突。
-
成員變量不是數據庫字段。
4. 完整示例
數據庫表 tb_user
:
名稱 | 數據類型 | 注釋 | 默認值 |
---|---|---|---|
id | BIGINT | 用戶id | 自增 |
username | VARCHAR | 用戶名 | - |
is_married | BIT | 是否結婚 | 0 |
order | TINYINT | 序號 | NULL |
對應實體類:
@TableName("tb_user")
public class User {@TableId(value = "id", type = IdType.AUTO)private Long id;@TableField("username")private String name;@TableField("is_married")private Boolean isMarried;@TableField("order")private Integer order;@TableField(exist = false)private String address; // 非數據庫字段
}
5. 總結
在 MyBatis-Plus 中,常用的注解主要有:
-
@TableName:映射數據庫表名。
-
@TableId:定義主鍵及主鍵生成策略。
-
@TableField:映射普通字段或定義非數據庫字段。
掌握這些注解,就能輕松完成實體類與數據庫表的映射,大大提升開發效率。
? 如果你正在學習 MyBatis-Plus,可以先從這些注解入手,逐步深入,快速上手項目開發!