Java實體類(entity)作用

對java實體類的衆多理解:

A .就是屬性類,通常定義在model層裏面 

B. 一般的實體類對應一個數據表,其中的屬性對應數據表中的字段。
好處:
1.對對象實體的封裝,體現OO思想。
2.屬性可以對字段定義和狀態進行判斷和過濾
3.把相關信息用一個實體類封裝後,我們在程序中可以把實體類作爲參數傳遞,更加方便。

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

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

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

F. 在Java開發中經常要定義一些實體類,這些類的定義的好壞會直接影響,編寫代碼的質量和難易程度,以下是別人總結的一些經驗。

一、實體類的名字儘量和數據庫的表的名字對應相同。

二、實體類應該實現java.io.Serializable接口。

三、實體類應該有個無參的構造方法。

四、實體類應該有個有參(所有的參數)的構造方法。

五、實體類有屬性和方法,屬性對應數據庫中表的字段,主要有getter和setter方法。

六、實體類還應該有個屬性serialVersionUID。例如:private static final long serialVersionUID = -6125297654796395674L;

七、屬性一般是private類型,方法位public類型,對於數據庫自動生成的ID字段對應的屬性的set方法應爲private。

G. 實體類中都是實例對象,實例對象在jvm的堆區中開闢了一個該對象引用空間,並且讓該引用指向某個實例,類聲明只是在jvm的棧去中開闢了一個該對象引用,沒有讓該引用做任何指向.

例如 :
1.String str;
2.String str = new String ("dgfgg");
1中的只是一個引用,說明str應該指向一個String 類型的實例,但還沒對str和堆區的實例做具體的指向.也就是說它還沒有指向某個實例.
而2中的即定義了一個引用(str)又對str做了具體的指向,它指向的內容就是後面new出來的String 實例.


實體類中的構造方法+set方法+get方法:
構造函數:初始化成員變量


get,set方法,獲取和改變成員變量的值,JavaBean規範規定只使用get/set訪問成員變量

構造函數:你每次寫一個Java文件,實際上都寫了一個類(創建一個類,jvm就會自動爲這個類開闢一塊內存空間)。有了類就需要有類對象,要產生類對象就需要構造函數對這個剛剛申請的內存空間做一點事,賦屬性值之類的工作。當然,如果你不寫,它就默認有一個Class(){}的構造方法出現,當然它什麼活也不幹。

你的屬性是什麼樣的?public?private?默認?還是protected?這四種你找教材務必弄懂分清,很有用。如果是private,這種屬性不許別的對象改和讀,但有時候需要改/讀,怎麼辦?寫一個public void setAbc(xxx){}和一個public xxx getAbc(){}就實現外部讀寫屬性的功能了。

set ,get完全是自我規定的,就是設置初值和獲得值的意思.你也可以修改成其他字符.但是用set ,get還是要好些,因爲你能通過單詞理解你寫的代碼的意思,方便閱讀而已。

 

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


java 實體類其實就是俗稱的POJO,這種類一般不實現特殊框架下的接口,在程序中僅作爲數據容器用來持久化存儲數據用的。

  POJO(PlainOldJavaObjects)簡單的Java對象

  它的一般格式就是

  publicclassA{

      privateStringid;

      publicStringgetId{

      returnthis.id;

      }

  publicvoidsetId(Stringid){

      this.id=id;

      }

  }

  其實這樣寫的意義就在於封裝,id作爲類A的成員變量,也稱屬性,一般情況下擁有讀和寫的能力,我們將id設爲private,則外部無法對其直接進行操作,同時通過set方法提供了外部更改其value的方法,又通過get方法使外界能讀取該成員變量的值。


  序列化的必要性

  Java中,一切都是對象,在分佈式環境中經常需要將Object從這一端網絡或設備傳遞到另一端。這就需要有一種可以在兩端傳輸數據的協議。Java序列化機制就是爲了解決這個問題而產生。

  Java對象序列化不僅保留一個對象的數據,而且遞歸保存對象引用的每個對象的數據。

  Java串行化技術可以使你將一個對象的狀態寫入一個Byte流裏,並且可以從其它地方把該Byte流裏的數據讀出來,重新構造一個相同的對象。這種機制允許你將對象通過網絡進行傳播,並可以隨時把對象持久化到數據庫、文件等系統裏。Java的串行化機制是RMI、EJB等技術的技術基礎。用途:利用對象的串行化實現保存應用程序的當前工作狀態,下次再啓動的時候將自動地恢復到上次執行的狀態。

  序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內容進行流化。可以對流化後的對象進行讀寫操作,也可將流化後的對象傳輸於網絡之間。序列化是爲了解決在對對象流進行讀寫操作時所引發的問題。

  對於一個存在於Java虛擬機中的對象來說,其內部的狀態只保持在內存中。JVM停止之後,這些狀態就丟失了。在很多情況下,對象的內部狀態是需要被持久化下來的。提到持久化,最直接的做法是保存到文件系統或是數據庫之中。這種做法一般涉及到自定義存儲格式以及繁瑣的數據轉換。對象關係映射(Object-relationalmapping)是一種典型的用關係數據庫來持久化對象的方式,也存在很多直接存儲對象的對象數據庫。對象序列化機制(objectserialization)是Java語言內建的一種對象持久化方式,可以很容易的在JVM中的活動對象和字節數組(流)之間進行轉換。除了可以很簡單的實現持久化之外,序列化機制的另外一個重要用途是在遠程方法調用中,用來對開發人員屏蔽底層實現細節。


--------------------- 
作者:qijingwang 
來源:CSDN 
原文:https://blog.csdn.net/qijingwang/article/details/80353829 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

第四章 Java entity(實體類)

畫龍點睛,首先,Java實體類的作用一般是和數據表做映射。
實體類的規範:
一定要定義私有屬性
根據屬性,創建他們的getter和setter方法。(可以使用IDE直接生成,簡單快捷,還不容易出錯。)
提供無參構造器和有參構造器。
實現序列化,賦予版本號。
下面爲代碼

public class Employee implements Serializable{

    //版本號
    private static final long serialVersionUID = 1L;

    //私有屬性
    private String name;
    private double salary;
    private LocalDate hireDay;

    //公有setter和getter方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getSalary() {
        return salary;
    }
    public void setSalary(double salary) {
        this.salary = salary;
    }
    public LocalDate getHireDay() {
        return hireDay;
    }
    public void setHireDay(LocalDate hireDay) {
        this.hireDay = hireDay;
    }

}
--------------------- 
作者:ZEXR0 
來源:CSDN 
原文:https://blog.csdn.net/u011209637/article/details/80099577 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章