MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
MP架构:
@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
(1)@TableName
描述:表名注解,标识实体类对应的表
使用位置:实体类
示例:
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
(2)@TableId
描述:主键注解
使用位置:实体类主键字段
示例:
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
(3) @TableId
描述:主键注解
使用位置:实体类主键字段
示例:
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
(4)@TableField
描述:字段注解(非主键)
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
(5)@Version
描述:乐观锁注解、标记 @Verison 在字段上
public class User {
private Long id;
private String name;
private Integer age;
private String email;
private Integer version;
}
(6)@EnumValue
描述:普通枚举类注解(注解在枚举字段上)
public class User {
private Long id;
private String name;
private Integer age;
private String email;
private Integer version;
private SexEnum sex;
}
public enum SexEnum {
MAN(1, "男"),
WOMAN(2, "女");
private Integer key;
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
描述:表字段逻辑处理注解(逻辑删除)
public class User {
private Long id;
private String name;
private Integer age;
private String email;
private Integer version;
private SexEnum sex;
private String deleted;
}
public enum SexEnum {
MAN(1, "男"),
WOMAN(2, "女");
private Integer key;
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 常见的注解及使用方法。