嚐鮮 mybatis-plus 註解
背景
MyBatis-Plus(簡稱 MP)是一個 MyBatis 的增強工具,在 MyBatis 的基礎上只做增強不做改變,爲簡化開發、提高效率而生。
MP 架構:
Mybatis-Plus 註解
-
@EnumValue:支持普通枚舉類字段, 只用在 enum 類的字段上。
-
@FieldFill:字段填充策略枚舉類。
-
@FieldStrategy:字段策略枚舉類
-
@InterceptorIgnore:內置插件的一些過濾規則。支持註解在 Mapper 上以及 Mapper.Method 上,同時存在則 Mapper.method 比 Mapper 優先級高。支持: true 和 false , 1 和 0 , on 和 off。各屬性返回 true 表示不走插件 (在配置了插件的情況下, 不填則默認表示 false)。
-
@KeySequence: 序列主鍵策略
-
@OrderBy: 自動排序,用法與 SpringDtaJpa 的 OrderBy 類似, 在執行 MybatisPlus 的方法 selectList(),Page() 等非手寫查詢時自動帶上.
-
@TableField: 表字段標識
-
@TableId: 表主鍵標識
-
@TableLogic: 表字段邏輯處理註解(邏輯刪除)
-
@TableName: 數據庫表相關
-
Version: 樂觀鎖註解, 支持的字段類型: long,Long,int,Integer,java.util.Date,java.sql.Timestamp,java.time.LocalDateTime
Mybatis-Plus 常用註解實例
(1)@TableName
描述:表名註解,標識實體類對應的表
使用位置:實體類
示例:
@TableName("sys_user")
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
(2)@TableId
描述:主鍵註解
使用位置:實體類主鍵字段
示例:
@TableName("sys_user")
public class User {
@TableId
private Long id;
private String name;
private Integer age;
private String email;
}
(3) @TableId
描述:主鍵註解
使用位置:實體類主鍵字段
示例:
@TableName("sys_user")
public class User {
@TableId
private Long id;
private String name;
private Integer age;
private String email;
}
(4)@TableField
描述:字段註解(非主鍵)
@TableName("sys_user")
public class User {
@TableId
private Long id;
@TableField("nickname")
private String name;
private Integer age;
private String email;
}
(5)@Version
描述:樂觀鎖註解、標記 @Verison 在字段上
@TableName("sys_user")
public class User {
@TableId
private Long id;
@TableField("nickname")
private String name;
private Integer age;
private String email;
@Version
private Integer version;
}
(6)@EnumValue
描述:普通枚舉類註解 (註解在枚舉字段上)
@TableName("sys_user")
public class User {
@TableId
private Long id;
@TableField("nickname")
private String name;
private Integer age;
private String email;
@Version
private Integer version;
private SexEnum sex;
}
public enum SexEnum {
MAN(1, "男"),
WOMAN(2, "女");
@EnumValue
private Integer key;
@JsonValue
private String display;
SexEnum(Integer key, String display) {
this.key = key;
this.display = display;
}
public Integer getKey() {
return key;
}
public String getDisplay() {
return display;
}
}
(7)@TableLogic
描述:表字段邏輯處理註解(邏輯刪除)
@TableName("sys_user")
public class User {
@TableId
private Long id;
@TableField("nickname")
private String name;
private Integer age;
private String email;
@Version
private Integer version;
private SexEnum sex;
@TableLogic(value = "0", delval = "1")
private String deleted;
}
public enum SexEnum {
MAN(1, "男"),
WOMAN(2, "女");
@EnumValue
private Integer key;
@JsonValue
private String display;
SexEnum(Integer key, String display) {
this.key = key;
this.display = display;
}
public Integer getKey() {
return key;
}
public String getDisplay() {
return display;
}
}
總結
現如今註解開發變得非常方便,代碼簡潔,開發速度大大提高,成爲開發的潮流,MyBatis-Plus 提供了很多註解,來簡化我們的開發,提高我們的開發效率,本文將介紹 mybatis-plus 常見的註解及使用方法。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/yWU1xpLoflGPDMP2WClmXg