Bean对象中注解
Bean对象中注解
-
@TableId
指定主键
如果数据库字段设成user_id
在初始生成后,在代码中会变成userId,不会设置成主键
使用@TableId(value=“user_id”,type = IdType.AUTO)注解“value”:设置数据库字段值
“type”:设置主键类型、如果数据库主键设置了自增建议使用“AUTO”type有六种类型类型,最下面三个只有插入主键为空时,才会自动填充
类型 | 解释 |
---|---|
AUTO | 数据库自增ID |
NONE | 数据库未设置主键类型(将会跟随全局) |
INPUT | 用户输入ID(该类型可以通过自己注册自动填充插件进行填充) |
ID_WORKER | 全局唯一ID (idWorker) |
UUID | 全局唯一ID(UUID) |
ID_WORKER_STR | 字符串全局唯一ID(idWorker 的字符串表示) |
-
@NotNull
不能为null,但可以为empty
-
@NotEmpty
不能为null,而且长度必须大于0
-
@NotBlank
只能作用在String上,不能为null,而且调用trim()后,长度必须大于0
-
@TableName("table_name")
指定表名
-
@TableField
值 描述 value 字段值(驼峰命名方式,该值可无) update 预处理 set 字段自定义注入 condition 预处理 WHERE 实体条件自定义运算规则 el 详看注释说明 exist 是否为数据库表字段( 默认 true 存在,false 不存在 ) strategy 字段验证 ( 默认 非 null 判断,查看 com.baomidou.mybatisplus.enums.FieldStrategy ) fill 字段填充标记 ( FieldFill, 配合自动填充使用 ) @TableField(value="last_name") //指明字段在表中的名称,如果相同可不写;如果已经开启了驼峰映射,驼峰映射的值与表中字段的名称相同,也可不必添加此注解 private String last_name; @TableField(exist=false) //指明此字段在数据库中不存在 private String remark;
@TableField的其他使用方式在此暂不详述
-
@Data
-
为类提供读写功能,从而不用写get、set方法
-
还会为类提供 equals()、hashCode()、toString() 方法
要想使用 @Data 注解,需安装lombok,并引入lombok依赖
-
-
@Accessors
-
@Accessors(fluent = true)
使用fluent属性,getter和setter方法的方法名都是属性名,且setter方法返回当前对象。
使用fluent属性时,去跟两个方法的方式为:getter方法不需要传参,setter需要传参,且两个方法返回值不同。
-
@Accessors(chain = true)
使用chain属性,setter方法返回当前对象
-
@Accessors(prefix = “f”)
使用prefix属性,getter和setter方法会忽视属性名的指定前缀(遵守驼峰命名)
如此时,指定的前缀是“f”,则生成的getter和setter方法中会去掉字段的“f”前缀
-
-
@JsonProperty
- 使用此注解需要用到jackson的maven依赖
- 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty("name")。 对属性名称重命名,比如在很多场景下Java对象的属性是按照规范的驼峰书写,但在数据库设计时使用的是下划线连接方式,此处在进行映射的时候就可以使用该注解。
- 此注解可用于Bean对象与 json相互转化时字段的转义
- 使用实例如下
//使用 @JsonProperty注解将表结构中的字段映射到实体类中,亦可将json中的相应字段转化到实体类中的字段 @JsonProperty("customer_name") private String customerName;
-
@ApiModel
在实体类上边使用,标记类是swagger的解析类。提供有关swagger模型的其它信息,类将在操作中用作类型时自动内省
属性名称 数据类型 默认值 说明 value String 类名 为模型提供备用名称 description String “” 提供详细的类描述 parent Class<?> parent Void.class 为模型提供父类以允许描述继承关系 discriminatory String “” 支持模型继承和多态,使用鉴别器的字段的名称,可以断言需要使用哪个子类型 subTypes Class<?>[] {} 从此模型继承的子类型数组 reference String “” 指定对应类型定义的引用,覆盖指定的任何其他元数据 -
@ApiModelProperty
使用在被 @ApiModel 注解的模型类的属性上,添加和操作模型属性的数据
属性名称 数据类型 默认值 说明 value String “” 属性简要说明 name String “” 运行覆盖属性的名称。重写属性名称 allowableValues String “” 限制参数可接收的值,三种方法,固定取值,固定范围 access String “” 过滤属性,参阅:io.swagger.core.filter.SwaggerSpecFilter notes String “” 目前尚未使用 dataType String “” 参数的数据类型,可以是类名或原始数据类型,此值将覆盖从类属性读取的数据类型 required boolean false 是否为必传参数,false:非必传参数; true:必传参数 position int 0 允许在模型中显示排序属性 hidden boolean false 隐藏模型属性,false:不隐藏; true:隐藏 example String “” 属性的示例值 readOnly boolean false 指定模型属性为只读,false:非只读; true:只读 reference String “” 指定对应类型定义的引用,覆盖指定的任何其他元数据 allowEmptyValue boolean false 允许传空值,false:不允许传空值; true:允许传空值