Hibernate验证注解

将乐信息网 http://www.jianglexinxi.cn 2020-10-19 08:58 出处:网络
hibernate注解,Hibernate验证注解 Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint

hibernate注解,Hibernate验证注解

Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint Java代码  

Hibernate验证注解

  1. Bean Validation 中内置的 constraint  
  2.    
  3. @Null   被注释的元素必须为 null  
  4. @NotNull    被注释的元素必须不为 null  
  5. @AssertTrue     被注释的元素必须为 true  
  6. @AssertFalse    被注释的元素必须为 false  
  7. @Min(value)     被注释的元素必须是一个数字,其值必须大于等于指定的最小值  
  8. @Max(value)     被注释的元素必须是一个数字,其值必须小于等于指定的最大值  
  9. @DecimalMin(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值  
  10. @DecimalMax(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值  
  11. @Size(max=, min=)   被注释的元素的大小必须在指定的范围内  集合或数组 集合或数组的大小是否在指定范围内
  12. @Digits (integer, fraction)     验证字符串是否是符合指定格式的数字,interger指定整数精度,fraction指定小数精度。
  13. @Past   被注释的元素必须是一个过去的日期  
  14. @Future     被注释的元素必须是一个将来的日期  
  15. @Pattern(regex=,flag=)  被注释的元素必须符合指定的正则表达式  
  16.   
  17. Hibernate Validator 附加的 constraint  
  18. @NotBlank(message =)   验证字符串非null,且长度必须大于0  
  19. @Email  被注释的元素必须是电子邮箱地址  
  20. @Length(min=,max=)  被注释的字符串的大小必须在指定的范围内  
  21. @NotEmpty   被注释的字符串的必须非空  
  22. @Range(min=,max=,message=)  被注释的元素必须在合适的范围内  

  23. 以上每个注解都可能性有一个message属性,用于在验证失败后向用户返回的消息,还可以三个属性上使用多个注解
  24. 例如:

    @NotBlank
        public String getTitle() {
            return title;
        }

    @Temporal标签的作用很简单:

           (1) 如果在某类中有Date类型的属性,数据库中存储可能是'yyyy-MM-dd hh:MM:ss'要在查询时获得年月日,在该属性上标注@Temporal(TemporalType.DATE) 会得到形如'yyyy-MM-dd' 格式的日期。

          (2)如果在某类中有Date类型的属性,数据库中存储可能是'yyyy-MM-dd hh:MM:ss'要获得时分秒,在该属性上标注 @Temporal(TemporalType.TIME) 会得到形如'HH:MM:SS' 格式的日期。

          (3)如果在某类中有Date类型的属性,数据库中存储可能是'yyyy-MM-dd hh:MM:ss'要获得'是'yyyy-MM-dd hh:MM:ss',在该属性上标注 @Temporal(TemporalType.TIMESTAMP) 会得到形如'HH:MM:SS' 格式的日期

    例如:

    @Temporal(TemporalType.DATE)
        @Column(name = "cretime", length = 19)
        public Date getCretime() {
            return cretime;
        }

验证注解 验证的数据类型 说明
@AssertFalse Boolean,boolean 验证注解的元素值是false
@AssertTrue Boolean,boolean 验证注解的元素值是true
@NotNull 任意类型 验证注解的元素值不是null
@Null 任意类型 验证注解的元素值是null
@Min(value=值) BigDecimalBigInteger, byte,short, int, long,等任何NumberCharSequence(存储的是数字)子类型 验证注解的元素值大于等于@Min指定的value值
@Max(value=值) 和@Min要求一样 验证注解的元素值小于等于@Max指定的value值
@DecimalMin(value=值) 和@Min要求一样 验证注解的元素值大于等于@ DecimalMin指定的value值
@DecimalMax(value=值) 和@Min要求一样 验证注解的元素值小于等于@ DecimalMax指定的value值
@Digits(integer=整数位数, fraction=小数位数) 和@Min要求一样 验证注解的元素值的整数位数和小数位数上限
@Size(min=下限, max=上限) 字符串、CollectionMap、数组等 验证注解的元素值的在min和max(包含)指定区间之内,如字符长度、集合大小
@Past java.util.Date, 验证注解的元素值(日期类型)比当前时间早
@Future 与@Past要求一样 验证注解的元素值(日期类型)比当前时间晚
@NotBlank CharSequence子类型 验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的首位空格
@Length(min=下限, max=上限) CharSequence子类型 验证注解的元素值长度在min和max区间内
@NotEmpty CharSequence子类型、Collection、Map、数组 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
@Range(min=最小值, max=最大值) BigDecimal,BigInteger,CharSequence, byte, short, int, long等原子类型和包装类型 验证注解的元素值在最小值和最大值之间
@Email(regexp=正则表达式,flag=标志的模式) CharSequence子类型(如String 验证注解的元素值是Email,也可以通过regexpflag指定自定义的email格式
@Pattern(regexp=正则表达式,flag=标志的模式) String,任何CharSequence的子类型 验证注解的元素值与指定的正则表达式匹配指定递归验证关联的对象;
@Valid 任何非原子类型 如用户对象中有个地址对象属性,如果想在验证用户对象时一起验证地址对象的话,在地址对象上加@Valid注解即可级联验证

Hibernate验证注解的相关内容如下:

注解是什么意思| springmvc常用5种注解| springcloud微服务架构| 白酒执行标准注解| 注解| spring框架| spring注解| hibernate翻译|

本文标题:Hibernate验证注解
http://www.jianglexinxi.cn/yanergaozhi/523684.html

0

精彩评论

暂无评论...
验证码 换一张
取 消