對Java的常用物件(POJO、DTO、PO、BO、VO、DAO)詳細解釋及應用場景
阿新 • • 發佈:2018-12-12
首先這些物件都應用都是一些單詞的簡稱,也是一種應用思想,故其他語言也可以使用,在 Java 裡比較常見這些物件吧。下面來一一解釋。
一、POJO(Plain Ordinary Java Object)。
簡單而言,就是一個簡單的物件,而且沒有任何規則約束。有的時候拿 POJO 來泛指用來做傳輸物件 Java bean
(包括今天要介紹的 DTO 、 VO 、 BO 、 PO 等)也是可以的。
二、DTO(Data Transfer Object)
資料傳輸物件,單純用來資料傳輸的物件。我們有的專案又分InDto
和OutDto
,顧名思義就是輸入和輸出的 Dto 。
三、PO(Persistant Object)
持久物件,可以看成是與資料庫中的表相對映的 Java 物件。最簡單的 PO 就是對應資料庫中某個表中的一條記錄,多個記錄可以用 PO 的集合。 PO 不包含業務邏輯和資料邏輯。就是一個Entity
或者說 ModelEntity
。
四、BO(Business Object)
業務物件,我經常使用的一個,它是和業務掛鉤的,簡單來說,我們每個業務可能需要很多 PO (資料庫表)來組成,而我們返回前端頁面或者返回給呼叫方的時候,我們需要組合。而這個時候, BO 就派上用場了,它就是一個對 PO 的組合,也可以就是 PO ,只是出發點是滿足業務的傳輸物件。
五、VO(Value Object)
值物件,其實和 BO 、 DTO 、 PO 差不多,只是更形象化了, VO 更簡單,沒有任何思想,就是一個傳輸物件。
六、DAO(Data Access Object)
資料訪問物件,通常是和資料層打交道的最後一層,通過 DAO 對資料庫做識別操作,最終返回我們想要的資料。通常和我們的 PO 、 BO 等基礎型別,如List
、Map
等結合使用。