亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java實(shí)體類常用注解的用法

 更新時(shí)間:2025年06月20日 08:41:38   作者:hoho不愛喝酒  
這篇文章主要介紹了Java實(shí)體類常用注解的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

在 Java 開發(fā)中,實(shí)體類(Entity Class)是表示數(shù)據(jù)結(jié)構(gòu)的重要組成部分。為了方便地對(duì)實(shí)體類進(jìn)行操作和管理,我們經(jīng)常會(huì)使用一些注解來標(biāo)記實(shí)體類的屬性和方法。

本文將介紹一些常用的 Java 實(shí)體類注解,并解釋它們的作用和用法。

一、屬性賦值,構(gòu)造方法

引入依賴:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.4</version>
</dependency>

1、@Data

是 Lombok 提供的注解,用于簡(jiǎn)化 Java 類的編寫,自動(dòng)生成 Getter、Setter、equals、hashCode、toString 等方法。@Data 注解包含以下注解的功能:

  1. @Getter:自動(dòng)生成 Getter 方法。
  2. @Setter:自動(dòng)生成 Setter 方法。
  3. @ToString:自動(dòng)生成 toString 方法。
  4. @EqualsAndHashCode:自動(dòng)生成 equals 和 hashCode 方法。

使用 @Data 注解可以減少重復(fù)的樣板代碼,提高代碼的簡(jiǎn)潔性和可讀性。例如:

@Data
public class Person {
    private String name;
    private int age;
}

上述代碼等效于手動(dòng)編寫了以下代碼:

public class Person {
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return age == person.age &&
                Objects.equals(name, person.name);
    }
    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }
}

可以看到,使用 @Data 注解可以大大簡(jiǎn)化類的編寫,減少了樣板代碼。

2、@NoArgsConstructor、@AllArgsConstructor

@NoArgsConstructor相當(dāng)于無參構(gòu)造方法、@AllArgsConstructor相當(dāng)于有參構(gòu)造方法

二、數(shù)據(jù)庫映射

以上是mybatis-plus常用實(shí)體注解

1、@TableName

表名注解,標(biāo)識(shí)實(shí)體類對(duì)應(yīng)的表

2、@TableId

主鍵注解,與@TableField不能同時(shí)使用

3、@TableField

字段注解(非主鍵)

使用:

@TableName("student")
public class Student{
    @TableId
    private String id;
    @TableField("stu_name")
    private String stuName;
    @TableField("stu_age")
    private Integer stuAge;
    @TableField("birth_date")
    private Date birthDate;
}

三、屬性格式校驗(yàn)

1、@NotNull

被注釋的字段不能為空

2、@NotEmpty

被注釋的字符串必須非空

3、@Email

被注釋的元素必須是電子郵件地址

4、@Pattern

正則校驗(yàn),例如:

@Pattern(regexp="1\\d{10}",message="手機(jī)號(hào)格式錯(cuò)誤")

四、日期格式轉(zhuǎn)換

1、@DatetimeFormat

將String轉(zhuǎn)換成Date。

2、@JsonFormat(pattern=“yyyy-MM-dd”)

將Date轉(zhuǎn)換成指定時(shí)間格式的String。

@JsonFormat(pattern = "yyyy-MM-dd")
private Date createTime;

3、@JsonFormat(pattern=“yyyy-MM-dd”,timezone=“GMT+8”)

會(huì)讓時(shí)間以0區(qū)時(shí)間顯示。

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

五、類/屬性說明

1、@ApiModel

用于實(shí)體類,表示對(duì)類進(jìn)行說明,用于參數(shù)用實(shí)體類接收。

2、@ApiModelProperty

用于類中屬性,表示對(duì) 屬性的說明。

總結(jié)

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

相關(guān)文章

  • Java利用POI讀寫Excel文件工具類

    Java利用POI讀寫Excel文件工具類

    這篇文章主要為大家詳細(xì)介紹了Java利用POI讀寫Excel文件的工具類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • Java中的按值傳遞和按引用傳遞的代碼詳解

    Java中的按值傳遞和按引用傳遞的代碼詳解

    本文通過實(shí)例代碼給大家介紹了Java中的按值傳遞和按引用傳遞的相關(guān)知識(shí),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-06-06
  • springboot單文件下載和多文件壓縮zip下載的實(shí)現(xiàn)

    springboot單文件下載和多文件壓縮zip下載的實(shí)現(xiàn)

    這篇文章主要介紹了springboot單文件下載和多文件壓縮zip下載的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Springboot swagger配置過程詳解(idea社區(qū)版2023.1.4+apache-maven-3.9.3-bin)

    Springboot swagger配置過程詳解(idea社區(qū)版2023.1.4+apache-maven-3

    這篇文章主要介紹了Springboot-swagger配置(idea社區(qū)版2023.1.4+apache-maven-3.9.3-bin),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • java實(shí)現(xiàn)多客戶聊天功能

    java實(shí)現(xiàn)多客戶聊天功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)多客戶聊天功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 關(guān)于Maven依賴沖突解決之exclusions

    關(guān)于Maven依賴沖突解決之exclusions

    這篇文章主要介紹了關(guān)于Maven依賴沖突解決之exclusions用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • springboot整合jquery和bootstrap框架過程圖解

    springboot整合jquery和bootstrap框架過程圖解

    這篇文章主要介紹了springboot整合jquery和bootstrap框架過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Spring Cloud 專題之Sleuth 服務(wù)跟蹤實(shí)現(xiàn)方法

    Spring Cloud 專題之Sleuth 服務(wù)跟蹤實(shí)現(xiàn)方法

    這篇文章主要介紹了Spring Cloud 專題之Sleuth 服務(wù)跟蹤,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • 使用ClassFinal實(shí)現(xiàn)SpringBoot項(xiàng)目jar包加密的操作指南

    使用ClassFinal實(shí)現(xiàn)SpringBoot項(xiàng)目jar包加密的操作指南

    在實(shí)際開發(fā)中,保護(hù)項(xiàng)目的安全性和保密性是至關(guān)重要的,針對(duì)于 Spring Boot 項(xiàng)目,我們需要將 JAR 包進(jìn)行加密從而有效地防止未經(jīng)授權(quán)的訪問和修改,本文將介紹如何使用ClassFinal在 Spring Boot 項(xiàng)目中實(shí)現(xiàn) JAR 包加密,需要的朋友可以參考下
    2024-06-06
  • mybatis實(shí)現(xiàn)mapper代理模式的方式

    mybatis實(shí)現(xiàn)mapper代理模式的方式

    本文向大家講解mybatis的mapper代理模式,以根據(jù)ide值查詢單條數(shù)據(jù)為例編寫xml文件,通過mapper代理的方式進(jìn)行講解增刪改查,分步驟給大家講解的很詳細(xì),對(duì)mybatis mapper代理模式相關(guān)知識(shí)感興趣的朋友一起看看吧
    2021-06-06

最新評(píng)論