欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

常用校驗(yàn)注解之@NotNull,@NotBlank,@NotEmpty的區(qū)別及說明

 更新時(shí)間:2024年01月24日 09:27:52   作者:故嶼γ  
這篇文章主要介紹了常用校驗(yàn)注解之@NotNull,@NotBlank,@NotEmpty的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

實(shí)體字段校驗(yàn) @NotNull、@NotEmpty、@NotBlank

1.@NotNull

不能為 null,但可以為 empty,一般用在 Integer 類型的基本數(shù)據(jù)類型的非空校驗(yàn)上,而且被其標(biāo)注的字段可以使用 @size、@Max、@Min 對(duì)字段數(shù)值進(jìn)行大小的控制

2.@NotEmpty

不能為 null,且長(zhǎng)度必須大于 0,一般用在集合類上或者數(shù)組上

3.@NotBlank

只能作用在接收的 String 類型上,注意是只能,不能為 null,而且調(diào)用 trim() 后,長(zhǎng)度必須大于 0即:必須有實(shí)際字符

  • 注意在使用 @NotBlank 等注解時(shí),一定要和 @valid 一起使用,否則 @NotBlank 不起作用。
  • 一個(gè) BigDecimal 的字段使用字段校驗(yàn)標(biāo)簽應(yīng)該為 @NotNull。
  • 在使用 @Length 一般用在 String 類型上可對(duì)字段數(shù)值進(jìn)行最大長(zhǎng)度限制的控制。
  • 在使用 @Range 一般用在 Integer 類型上可對(duì)字段數(shù)值進(jìn)行大小范圍的控制。

如下圖示:

如下示例:

1.String name = null;

@NotNull: false
@NotEmpty:false 
@NotBlank:false 


2.String name = "";

@NotNull:true
@NotEmpty: false
@NotBlank: false


3.String name = " ";

@NotNull: true
@NotEmpty: true
@NotBlank: false


4.String name = "Hello World!";

@NotNull: true
@NotEmpty:true
@NotBlank:true

常用的校驗(yàn)注解

javax.validation.constraints.xxx

注解說明
@Null限制只能為null
@NotNull限制必須不能為null
@AssertTrue限制必須為true
@AssertFalse限制必須為false
@Min(value)限制必須為一個(gè)不小于指定值的數(shù)字
@Max(value)限制必須為一個(gè)不大于指定值的數(shù)字
@DecimalMin(value)被限制的元素必須是一個(gè)數(shù)字,其值必須大于等于指定的最小值
@DecimalMax(value)被限制的元素必須是一個(gè)數(shù)字,其值必須小于等于指定的最大值
@Size(max,min)限制字符長(zhǎng)度必須在min到max的指定范圍內(nèi)
@Digits(integer,fraction)限制必須為一個(gè)小數(shù),且整數(shù)部分的位數(shù)不能超過integer、小數(shù)部分的位數(shù)不能超過fraction的在可接受的范圍內(nèi)
@Past被限制的元素(日期類型)必須是一個(gè)過去的日期
@Future被限制的元素(日期類型)必須是一個(gè)將來的日期
@Pattern(value)限制必須符合指定的正則表達(dá)式
@Email被限制的元素值為是電子郵件地址,也可以通過正則表達(dá)式和flag指定自定義的email
@Length被限制的字符串的大小必須在指定的范圍內(nèi)
@NotEmpty被限制的字符串必須非空(不為null且不為空)
@Range被限制的元素必須在合適的范圍內(nèi)

附@JsonFormat

有時(shí)使用 @JsonFormat 注解時(shí),查到的時(shí)間可能會(huì)比數(shù)據(jù)庫(kù)中的時(shí)間少八個(gè)小時(shí),這是由于時(shí)區(qū)差引起的,JsonFormat 默認(rèn)的時(shí)區(qū)是 Greenwich Time, 默認(rèn)的是格林威治時(shí)間,而我們是在東八區(qū)上,所以時(shí)間會(huì)比實(shí)際我們想得到的時(shí)間少八個(gè)小時(shí)。

需要在后面加上一個(gè)時(shí)區(qū)

如下示例:

@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
private Date date;

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringMVC高級(jí)開發(fā)功能實(shí)現(xiàn)過程解析

    SpringMVC高級(jí)開發(fā)功能實(shí)現(xiàn)過程解析

    這篇文章主要介紹了SpringMVC高級(jí)開發(fā)功能實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Mybatis的詳細(xì)使用教程

    Mybatis的詳細(xì)使用教程

    這篇文章主要介紹了Mybatis的詳細(xì)使用教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-12-12
  • SpringBoot?全局線程池配置及應(yīng)用小結(jié)

    SpringBoot?全局線程池配置及應(yīng)用小結(jié)

    為了提高應(yīng)用程序的性能和響應(yīng)速度,線程池是一個(gè)非常重要的工具,本文主要介紹了Spring?Boot?全局線程池配置及應(yīng)用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • Java實(shí)現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的示例

    Java實(shí)現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的示例

    這篇文章主要介紹了Java實(shí)現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的示例,幫助大家方便的進(jìn)行文件格式轉(zhuǎn)換,完成需求,感興趣的朋友可以了解下
    2020-11-11
  • 解決mybatis-plus3.1.1版本使用lambda表達(dá)式查詢報(bào)錯(cuò)的方法

    解決mybatis-plus3.1.1版本使用lambda表達(dá)式查詢報(bào)錯(cuò)的方法

    這篇文章主要介紹了解決mybatis-plus3.1.1版本使用lambda表達(dá)式查詢報(bào)錯(cuò)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java List集合方法及遍歷過程代碼解析

    Java List集合方法及遍歷過程代碼解析

    這篇文章主要介紹了Java List集合方法及遍歷過程代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • IDEA無法識(shí)別SpringBoot項(xiàng)目的簡(jiǎn)單解決辦法

    IDEA無法識(shí)別SpringBoot項(xiàng)目的簡(jiǎn)單解決辦法

    今天使用idea的時(shí)候,遇到idea無法啟動(dòng)springboot,所以這篇文章主要給大家介紹了關(guān)于IDEA無法識(shí)別SpringBoot項(xiàng)目的簡(jiǎn)單解決辦法,需要的朋友可以參考下
    2023-08-08
  • 最新評(píng)論