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

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 提供的注解,用于簡化 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ù)的樣板代碼,提高代碼的簡潔性和可讀性。例如:

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

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)文章

最新評(píng)論

长岛县| 通江县| 颍上县| 临泽县| 滨海县| 广昌县| 岳阳县| 威宁| 齐齐哈尔市| 方正县| 蕉岭县| 三江| 通许县| 平和县| 武宁县| 鄄城县| 长丰县| 吴桥县| 天水市| 磴口县| 石林| 德庆县| 高州市| 乐安县| 鄂伦春自治旗| 尉氏县| 灵台县| 罗源县| 库车县| 礼泉县| 固镇县| 大英县| 鄂托克旗| 湄潭县| 扬州市| 巴塘县| 镶黄旗| 阳谷县| 桑日县| 汾西县| 许昌市|