mybatis-plus注解
@TableId
描述:主键注解
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
value | String | 否 | “” | 主键字段名 |
type | Enum | 否 | IdType.NONE | 主键类型 |
IdType
值 | 描述 |
---|---|
AUTO | 数据库自增 |
INPUT | 自行输入 |
ID_WORKER | 分布式全局唯一ID 长整型类型 |
UUID | 32位UUID字符串 |
NONE | 无状态 |
ID_WORKER_STR | 分布式全局唯一ID 字符串类型 |
@TableField
描述:字段注解(非主键)
FieldStrategy
值 | 描述 |
---|---|
IGNORED | 忽略判断 |
NOT_NULL | 非NULL判断 |
NOT_EMPTY | 非空判断(只对字符串类型字段,其他类型字段依然为非NULL判断) |
DEFAULT | 追随全局配置 |
FieldFill
值 | 描述 |
---|---|
DEFAULT | 默认不处理 |
INSERT | 插入时填充字段 |
UPDATE | 更新时填充字段 |
INSERT_UPDATE | 插入和更新时填充字段 |
@Version
描述:乐观锁注解、标记 @Verison 在字段上
@EnumValue
描述:通枚举类注解(注解在枚举字段上)
@TableLogic
描述:表字段逻辑处理注解(逻辑删除)
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
value | String | 否 | “” | 逻辑未删除值 |
delval | String | 否 | “” | 逻辑删除值 |
@SqlParser
描述:租户注解 目前只支持注解在 mapper 的方法上(3.1.1开始支持注解在mapper上)
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
filter | boolean | 否 | false | true: 表示过滤SQL解析,即不会进入ISqlParser解析链,否则会进解析链并追加例如tenant_id等条件 |
@KeySequence
描述:序列主键策略 oracle
属性:value、resultMap
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
value | String | 否 | “” | 序列名 |
clazz | Class | 否 | Long.class | id的类型, 可以指定String.class,这样返回的Sequence值是字符串"1" |
校验注解
- @null 验证对象是否为空
- @notnull 验证对象是否为非空
- @asserttrue 验证 boolean 对象是否为 true
- @assertfalse 验证 boolean 对象是否为 false
- @min 验证 number 和 string 对象是否大等于指定的值
- @max 验证 number 和 string 对象是否小等于指定的值
- @decimalmin 验证 number 和 string 对象是否大等于指定的值,小数存在精度
- @decimalmax 验证 number 和 string 对象是否小等于指定的值,小数存在精度
- @size 验证对象(array,collection,map,string)长度是否在给定的范围之内
- @digits 验证 number 和 string 的构成是否合法
- @past 验证 date 和 calendar 对象是否在当前时间之前
- @future 验证 date 和 calendar 对象是否在当前时间之后
- @pattern 验证 string 对象是否符合正则表达式的规则
- @Email 验证邮箱
例子:
- @size (min=3, max=20, message=“用户名长度只能在3-20之间”)
- @size (min=6, max=20, message=“密码长度只能在6-20之间”)
- @pattern (regexp="[a-za-z0-9._%±]+@[a-za-z0-9.-]+\.[a-za-z]{2,4}", message=“邮件格式错误”)
- @Length(min = 5, max = 20, message = “用户名长度必须位于5到20之间”)
- @Email(message = “比如输入正确的邮箱”)
- @NotNull(message = “用户名称不能为空”)
- @Max(value = 100, message = “年龄不能大于100岁”)
- @Min(value= 18 ,message= “必须年满18岁!” )
- @AssertTrue(message = “bln4 must is true”)
- @AssertFalse(message = “blnf must is falase”)
- @DecimalMax(value=“100”,message=“decim最大值是100”)
- @DecimalMin(value=“100”,message=“decim最小值是100”)
- @NotNull(message = “身份证不能为空”)
- @Pattern(regexp="^(\d{18,18}|\d{15,15}|(\d{17,17}[x|X]))$", message=“身份证格式错误”)
- @Pattern(regexp="1(([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$", message=“手机号码格式错误”)
1 ↩︎