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

Spring?Boot使用Hibernate-Validator校驗參數(shù)時的長度校驗方法詳解

 更新時間:2023年08月18日 10:14:41   作者:小豬吃米飯  
這篇文章主要給大家介紹了關(guān)于Spring?Boot使用Hibernate-Validator校驗參數(shù)時的長度校驗方法的相關(guān)資料,在Spring Boot中可以使用Spring Boot Validation來對參數(shù)名稱進行校驗,需要的朋友可以參考下

今天在使用Validator框架數(shù)據(jù)驗證的時候碰到了三個類似的注解,都是用來限制長度,但是用法上有區(qū)別:

1,@Size和@Length

@Data
public class LoginVo {
    @Length(min = 5, max = 17, message = "userName長度須在[5,17]") // 可以為 null,若不為 null,則長度為 [5, 17]
    private String userName;
    // @Size不能驗證Integer,適用于String
    @Size(min = 1, max = 3, message = "password長度須在[1,3]")
    private String password;
    @Size(min = 1,max = 5,message = "list的Size在[1,5]") // list 可以為 null,若不為 null,則長度為 [1, 5]
    private List<String> list;
    @NotNull
    @Valid // 級聯(lián)校驗,該注解將會校驗自定義類
    private OrderItem detailInfo;
}

 @Size是一個Bean驗證注釋,用于驗證關(guān)聯(lián)的String具有的長度受最小值和最大值限制的值.

 @Length是一個Hibernate特定的注釋,與@Size具有相同的含義;

兩者的區(qū)別:

? 用@length限制長度為100,@length驗證的應(yīng)該為100個字符的長度,如99個漢字+2個數(shù)字,@length并不會報錯;

? 但用@size限制長度為100,同樣情況下則會報錯,即超出限制長度

? 綜上,@length限制長度為字符長度,@size限制長度為個數(shù)長度,@size為限制長度通用格式

2,@Colunm

@Entity
@Data
public class MyEntity {
    @Column(name = "MY_FIELD_1", length=13)
    private String myField1;
    @Column(name = "MY_FIELD_2")
    @Size(min = 13, max = 13)
    private String myField2;
    @Column(name = "MY_FIELD_3")
    @Length(min = 13, max = 13)
    private String myField3;
}

同樣的在實體類當中可以定義@Colunm注解當中設(shè)置length屬性。這是一個JPA注釋,并且length屬性由模式生成工具用于設(shè)置關(guān)聯(lián)的SQL列長度,與DDL有關(guān)

總結(jié)

到此這篇關(guān)于Spring Boot使用Hibernate-Validator校驗參數(shù)時的長度校驗方法的文章就介紹到這了,更多相關(guān)SpringBoot Validator校驗參數(shù)長度校驗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一種類似JAVA線程池的C++線程池實現(xiàn)方法

    一種類似JAVA線程池的C++線程池實現(xiàn)方法

    線程池(thread pool)是一種線程使用模式。線程過多或者頻繁創(chuàng)建和銷毀線程會帶來調(diào)度開銷,進而影響緩存局部性和整體性能。這篇文章主要介紹了一種類似JAVA線程池的C++線程池實現(xiàn)方法,需要的朋友可以參考下
    2019-07-07
  • Java+swing+Mysql實現(xiàn)商品銷售管理系統(tǒng)

    Java+swing+Mysql實現(xiàn)商品銷售管理系統(tǒng)

    基礎(chǔ)扎不扎實只有在實戰(zhàn)中才能顯現(xiàn),本篇文章手把手帶你用Java+swing+Mysql實現(xiàn)商品銷售管理系統(tǒng),大家可以在過程中查缺補漏,提升水平
    2022-01-01
  • Spring中的集合注入代碼實例

    Spring中的集合注入代碼實例

    這篇文章主要介紹了Spring中的集合注入代碼實例,集合注入是指在Spring框架中,通過配置文件或注解的方式將集合類型的數(shù)據(jù)注入到Bean中,集合類型包括List、Set、Map和Properties等,需要的朋友可以參考下
    2023-11-11
  • 關(guān)于MyBatis的foreach標簽常用方法

    關(guān)于MyBatis的foreach標簽常用方法

    這篇文章主要介紹了關(guān)于MyBatis的foreach標簽常用方法,foreach 標簽可以用來遍歷數(shù)組、列表和 Map 等集合參數(shù),實現(xiàn)批量操作或一些簡單 SQL 操作,需要的朋友可以參考下
    2023-05-05
  • 詳解Java如何使用責任鏈默認優(yōu)雅地進行參數(shù)校驗

    詳解Java如何使用責任鏈默認優(yōu)雅地進行參數(shù)校驗

    項目中參數(shù)校驗十分重要,它可以保護我們應(yīng)用程序的安全性和合法性。這篇文章主要介紹了如何使用責任鏈默認優(yōu)雅地進行參數(shù)校驗,需要的可以參考一下
    2023-03-03
  • 如何使用會話Cookie和Java實現(xiàn)JWT身份驗證

    如何使用會話Cookie和Java實現(xiàn)JWT身份驗證

    這篇文章主要介紹了如何使用會話Cookie和Java實現(xiàn)JWT身份驗證,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-03-03
  • 詳解mybatis 批量更新數(shù)據(jù)兩種方法效率對比

    詳解mybatis 批量更新數(shù)據(jù)兩種方法效率對比

    這篇文章主要介紹了詳解mybatis 批量更新數(shù)據(jù)兩種方法效率對比,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-02-02
  • mybatis 為什么千萬不要使用 where 1=1

    mybatis 為什么千萬不要使用 where 1=1

    這篇文章主要介紹了mybatis 為什么千萬不要使用 where 1=1,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • SpringBoot集成Swagger使用SpringSecurity控制訪問權(quán)限問題

    SpringBoot集成Swagger使用SpringSecurity控制訪問權(quán)限問題

    這篇文章主要介紹了SpringBoot集成Swagger使用SpringSecurity控制訪問權(quán)限問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java通過遞歸算法解決迷宮與漢諾塔及八皇后問題

    Java通過遞歸算法解決迷宮與漢諾塔及八皇后問題

    方法就是用來完成解決某件事情或?qū)崿F(xiàn)某個功能的辦法;程序調(diào)用自身的編程技巧稱為遞歸,本文主要講的是通過遞歸來實現(xiàn)三個經(jīng)典的問題,解決迷宮,漢諾塔,八皇后問題,感興趣的朋友可以參考一下
    2022-05-05

最新評論