Entily實體類

1、對java實體類的理解

A .就是屬性類,一般定義在model層裏面 java

B. 通常的實體類對應一個數據表,其中的屬性對應數據表中的字段。
      好處: 程序員

  • 對對象實體的封裝,體現OO思想。
  • 屬性能夠對字段定義和狀態進行判斷和過濾
  • 把相關信息用一個實體類封裝後,咱們在程序中能夠把實體類做爲參數傳遞,更加方便。

C. 說白了就是爲了讓程序員在對數據庫操做的時候不用寫SQL語句 數據庫

D. 就是一個數據庫表生成一個類
     這樣作對數據庫操做起來方便
     編寫代碼較少 提升效率 可使程序員專一邏輯關係 app

E. 實體類就是把對某一個表的操做全寫在一個類中.eclipse

F. 在Java開發中常常要定義一些實體類,這些類的定義的好壞會直接影響,編寫代碼的質量和難易程度ide

2、Java中entity(實體類)的寫法規範

在平常的Java項目開發中,entity(實體類)是必不可少的,它們通常都有不少的屬性,並有相應的setter和getter方法。entity(實體類)的做用通常是和數據表作映射。因此快速寫出規範的entity(實體類)是java開發中一項必不可少的技能。post

  在項目中寫實體類通常遵循下面的規範:this

    一、根據你的設計,定義一組你須要的私有屬性。spa

    二、根據這些屬性,建立它們的setter和getter方法。(eclipse等集成開發軟件能夠自動生成。具體怎麼生成?請自行百度。)設計

    三、提供帶參數的構造器和無參數的構造器。

    四、重寫父類中的eauals()方法和hashcode()方法。(若是須要涉及到兩個對象之間的比較,這兩個功能很重要。)

    五、實現序列化並賦予其一個版本號。

下面是一個實體類(entity)例子:具體的細節都用註釋標註了。

複製代碼
 1 class Student implements Serializable{
 2     /**
 3      * 版本號
 4      */
 5     private static final long serialVersionUID = 1L;
 6     //定義的私有屬性
 7     private int id;
 8     private String name;
 9     private int age;
10     private double score;
11     //無參數的構造器
12     public Student(){
13         
14     }
15     //有參數的構造器
16     public Student(int id,String name,int age, double score){
17         this.id = id;
18         this.name = name;
19         this.age = age;
20         this.score = score;
21     }
22     //建立的setter和getter方法
23     public int getId() {
24         return id;
25     }
26     public void setId(int id) {
27         this.id = id;
28     }
29     public String getName() {
30         return name;
31     }
32     public void setName(String name) {
33         this.name = name;
34     }
35     public int getAge() {
36         return age;
37     }
38     public void setAge(int age) {
39         this.age = age;
40     }
41     public double getScore() {
42         return score;
43     }
44     public void setScore(double score) {
45         this.score = score;
46     }
47     //因爲id對於學生這個類是惟一能夠標識的,因此重寫了父類中的id的hashCode()和equals()方法。
48     @Override
49     public int hashCode() {
50         final int prime = 31;
51         int result = 1;
52         result = prime * result + id;
53         return result;
54     }
55     @Override
56     public boolean equals(Object obj) {
57         if (this == obj)
58             return true;
59         if (obj == null)
60             return false;
61         if (getClass() != obj.getClass())
62             return false;
63         Student other = (Student) obj;
64         if (id != other.id)
65             return false;
66         return true;
67     }
68     
69 }
複製代碼

一個學生的Java實體類就基本完成了。

總結:實體是就是Java中的O/R Mapping映射,即數據庫中的一個表映射成對應的一個Java類,其中還有一個映射文件。給定一個較複雜的實體關係(如一對一,一對多,多對多),應該熟練地寫出實體類

相關文章
相關標籤/搜索