嚐鮮 mybatis-plus 註解

背景

  MyBatis-Plus(簡稱 MP)是一個 MyBatis 的增強工具,在 MyBatis 的基礎上只做增強不做改變,爲簡化開發、提高效率而生。

  MP 架構:

Mybatis-Plus 註解

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