mybatis-plus 实体注解@TableField、@ApiModel、@ApiModelProperty、@Valid

1、@TableField注解的使用

com.baomidou.mybatisplus.annotations.TableField

描述
value 字段值(驼峰命名方式,该值可无)。如果已开启驼峰映射,则不必在@TableField注解里面写value属性了。
update预处理 set 字段自定义注入
condition预处理 WHERE 实体条件自定义运算规则
el 详看注释说明
exist是否为数据库表字段( 默认 true 存在,false 不存在 )
strategy字段验证 ( 默认 非 null 判断,查看 com.baomidou.mybatisplus.enums.FieldStrategy )
fill 字段填充标记 ( FieldFill, 配合自动填充使用 )

 

1.1、属性 update :预处理 set 字段自定义注入

比如我们使用mybatisplus自带的insert()方法向数据库插入数据时,假设我们给age字段赋值为1,但是我们在age字段上的@TableField注解里面加了update="%s+1",那么真真插入到数据库的值就是age=2,而不是age+1了。

例如:@TableField(.. , update="%s+1") 其中 %s 会填充为字段
输出 SQL 为:update 表 set 字段=字段+1 where ...

如果给某个字段上@TableField注解里面写update=“now()”,最后使用mybatisplus自带的insert()方法向数据库插入数据时,这个字段插入到数据库中的值就为当前时间,

例如:@TableField(.. , update="now()") 使用数据库时间
输出 SQL 为:update 表 set 字段=now() where ...

2、@ApiModel和@ApiModelProperty用法

2.1、@ApiModel

使用场景:在实体类上边使用,标记类时swagger的解析类。
概述:提供有关swagger模型的其它信息,类将在操作中用作类型时自动内省。
用法:

2.2、@ApiModelProperty

使用场景:使用在被 @ApiModel 注解的模型类的属性上。表示对model属性的说明或者数据操作更改 。
概述:添加和操作模型属性的数据。
用法:

3、mybatis-plus整合@Valid参数校验

3.1、 @Valid 注解类型的使用

注解作用
@NotNull参数不能为null
@NotBlank参数值不能为null,且去除首尾空格后长度不为0,多于用字符串
@NotEmpty参数不为null且不为空,字符串长度不为0、集合大小不为0
@Size(max,min)参数字符长度必须在min到max之间
@Pattern(value)参数必须符合指定的正则表达式
@Null参数只能为null
@Email参数值是邮箱格式,也可以通过@Pattern自定义正则表达式来实现
@Past参数必须是过去的日期
@Future参数必须是未来的日期
@Max(value)参数不能大于value的值
@Min(value)参数不能小于value的值

3.2、参数校验示例

@Data
@TableName(value = "project")
@ApiModel(value = "项目-实体")
public class Project { 
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Long id;
    /**
     * 项目名称
     */
    @TableField(value = "project_name")
    @ApiModelProperty(value = "项目名称")
    @NotNull(message = "项目名称不能为空")
    @NotBlank(message = "项目名称不能为空")
    private String projectName;
    /**
     * 创建人
     */
    @TableField(value = "creator")
    @ApiModelProperty(value = "创建人姓名")
    @Size(max = 20, min = 2,message = "创建人姓名长度需要在2-20字符长度之间")
    private String creator;
    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    @ApiModelProperty(value = "更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 描述信息
     */
    @TableField(value = "description")
    @ApiModelProperty(value = "描述信息")
    private String description;
}
 
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值