最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實體類常用注解的用法

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

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

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

一、屬性賦值,構造方法

引入依賴:

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

1、@Data

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

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

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

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

上述代碼等效于手動編寫了以下代碼:

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 注解可以大大簡化類的編寫,減少了樣板代碼。

2、@NoArgsConstructor、@AllArgsConstructor

@NoArgsConstructor相當于無參構造方法、@AllArgsConstructor相當于有參構造方法

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

以上是mybatis-plus常用實體注解

1、@TableName

表名注解,標識實體類對應的表

2、@TableId

主鍵注解,與@TableField不能同時使用

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;
}

三、屬性格式校驗

1、@NotNull

被注釋的字段不能為空

2、@NotEmpty

被注釋的字符串必須非空

3、@Email

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

4、@Pattern

正則校驗,例如:

@Pattern(regexp="1\\d{10}",message="手機號格式錯誤")

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

1、@DatetimeFormat

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

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

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

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

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

會讓時間以0區(qū)時間顯示。

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

五、類/屬性說明

1、@ApiModel

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

2、@ApiModelProperty

用于類中屬性,表示對 屬性的說明。

總結

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

相關文章

最新評論

嘉鱼县| 日土县| 固镇县| 周口市| 秭归县| 浦城县| 黔江区| 武定县| 黄石市| 明星| 郁南县| 溧水县| 资阳市| 屯门区| 上栗县| 漯河市| 商南县| 正镶白旗| 尼勒克县| 青河县| 永定县| 信宜市| 康平县| 本溪| 虎林市| 任丘市| 金溪县| 文登市| 江口县| 信丰县| 本溪市| 镇安县| 云林县| 甘谷县| 精河县| 宜兰县| 堆龙德庆县| 宽甸| 孝昌县| 中宁县| 革吉县|