1. 程式人生 > >什麼是PO,VO,DTO,DAO,POJO

什麼是PO,VO,DTO,DAO,POJO

1.PO

PO(persisent object),即持久物件,在一些Object/Relation Mapping工具中,能夠做到維護資料庫表記錄的persisent object完全是一個符合Java Bean規範的純Java物件,沒有增加別的屬性和方法。主要是對應資料庫中的欄位,可以簡單認為一個PO對應資料庫中的一張表,其中po物件的屬性對應資料庫中的欄位。持久物件由insert資料庫建立,由delete資料庫刪除。PO中不應該包含任何對資料庫的操作。

2.POJO

POJO(plain ordinary java object,也有叫pure old Java object )無規則簡單java物件,實際就是普通JavaBeans,使用POJO名稱是為了避免和EJB混淆起來, 而且簡稱比較直接. 其中有一些屬性及其getter setter方法的類,有時可以作為value object或dto(Data Transform Object)來使用。但是如果涉及到比較複雜的邏輯的話,就需要重新構造新的接收物件。

POJO是由new建立,由GC回收。

3.VO

value object值物件 ,他可以和表對應,也可以不用,取決於業務的需要和複雜程度。通常用於業務層之間資料的傳遞,也是用於包含資料。

view object表現層物件,主要對應頁面顯示的資料物件,用VO來封裝頁面需要展示的資料物件。

4.DTO

DTO:資料傳輸物件,顧名思義,主要是為了傳輸資料,所以構造的一個物件。它的構造是基於資料庫中的表的,比如某個資料庫表有20個欄位,但是表現層只需要其中的5個欄位,那麼這個時候就沒有必要以整個資料庫對應的POJO物件作為接收資料物件了,我們可以構造一個DTO傳遞資料到客戶端,到達客戶端以後,如果用這個物件來對應介面顯示,那此時它的身份就轉為VO。

5.DAO

DAO:data access object資料訪問物件,即我們常說的操作資料庫的物件。主要用來封裝對DB的訪問(CRUD操作),並通過接收Business層的資料,把POJO持久化為PO,用PO組裝出VO,DTO。