在Java中VO、 PO 、BO、DTO、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 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/
此文章為轉載,地址為:https://www.cnblogs.com/doStudying/p/6492474.html