標籤:let 地址 傳輸 用戶端 邏輯 簡單 服務端 三層 image
在Java中VO , PO , BO, DAO ,POJO是什麼意思
最近在項目中,遇到VO,我的天。。。那就一起學習回憶一下
首先簡單說明下:
O/R Mapping是Object Relational Mapping(對象關係映射)的縮寫。簡單來說,就是將對象和關聯式資料庫綁定,用對象來表示關係資料。
Java WEB三層架構咱們更需要熟練使用
VO:值對象(Value Object)
用new關鍵字建立,有GC回收通常用於業務層之間的資料傳遞,一般是抽象出的業務對象,可以和資料表相對應,也可以不。在web層,對應一個web頁面或者swt介面,用一個VO對象對應一個介面的值。
PO:持久對象(Persistant Object)
屬性和資料庫表中的欄位一一對應,可以看成是資料庫中的表相映射的java對象。由資料庫insert產生,由資料庫delete刪除。其生命週期和資料庫密切相關,但PO中不應該包含任何對資料庫的操作。
其java檔案一般都是資料庫表中欄位屬性和對應的get,set方法
BO:業務對象(business object)
主要作用是把商務邏輯封裝成一個對象。這個對象可以包括一個或多個其他的對象。比如一個簡曆,有教育經曆,實習經曆,得獎情況等等,建立一個對應簡曆的BO對象處理簡曆,每個BO包含這些PO,這樣處理商務邏輯時,我們可以針對BO進行處理。
DTO:資料轉送對象(Data Transfer Object)同時又DTO模式
主要用於遠程調用等需要大量傳輸對象的地方。比如我們一張表有100個欄位,那麼對應的PO就有100哥屬性。但是我們的介面上只要顯示10個欄位,用戶端用WEB service來擷取資料,沒有必要把整個PO對象傳遞到用戶端。這是我們就可以用只有這10個屬性的DTO來傳遞結果到用戶端,這樣也不會暴露服務端表結構。到達用戶端以後,如果用這個對象來對應介面顯示,那麼此時它的身份就轉為VO
DAO:Data Access Objects(Data Access Object)同時又DAO模式
主要用來封裝對資料庫的訪問,包含了各種資料庫的操作方法,提供資料庫的CRUD操作。通過它可以把POJO持久化為PO,用PO組裝為DTO、VO
POJO:簡單Java對象(Plain Ordinary Java Object)
POJO是最常見最多變的對象,是一個中間對象,也是我們最常見的打交道的對象。
一個POJO持久化以後就是PO
直接用它傳遞,傳遞過程中就是DTO
直接用來對應標識層就是VO
畫個圖簡單表示一下(借用別人的圖)
地址:http://jeoff.blog.51cto.com/186264/88517/
在Java中VO , PO , BO , QO, DAO ,POJO是什麼意思