mybatisplus自定义查询列,mybatisplus主键长度
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;}