亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java中PO、VO、BO、POJO、DAO、DTO、TO、QO、Bean、conn的理解

 更新時間:2020年02月21日 17:45:49   作者:Modu_MrLiu  
這篇文章主要介紹了java中PO、VO、BO、POJO、DAO、DTO、TO、QO、Bean、conn的理解,需要的朋友可以參考下

O/R Mapping 是 Object Relational

Mapping (對象關系映射)的縮寫。通俗點講,就是將對象與關系數(shù)據庫綁定,用對象來表示關系數(shù)據。在 O/R

Mapping 的世界里,有兩個基本的也是重要的東東需要了解,即 VO , PO 。

VO ,值對象 (Value Object) ,

PO ,持久對象 (Persisent

Object) ,它們是由一組屬性和屬性的 get 和 set 方法組成。從結構上看,它們并沒有什么不同的地方。但從其意義和本質上來看是完全不同的。

1. VO 是用 new 關鍵字創(chuàng)建,由 GC 回收的。

   PO 則是向數(shù)據庫中添加新數(shù)據時創(chuàng)建,刪除數(shù)據庫中數(shù)據時削除的。并且它只能存活在一個數(shù)據庫連接中,斷開連接即被銷毀。

2. VO 是值對象,精確點講它是業(yè)務對象,是存活在業(yè)務層的,是業(yè)務邏輯使用的,它存活的目的就是為數(shù)據提供一個生存的地方。

   PO 則是有狀態(tài)的,每個屬性代表其當前的狀態(tài)。它是物理數(shù)據的對象表示。使用它,可以使我們的程序與物理數(shù)據解耦,并且可以簡化對象數(shù)據與物理數(shù)據之間的轉換。

3. VO 的屬性是根據當前業(yè)務的不同而不同的,也就是說,它的每一個屬性都一一對應當前業(yè)務邏輯所需要的數(shù)據的名稱。

PO 的屬性是跟數(shù)據庫表的字段一一對應的。

PO 對象需要實現(xiàn)序列化接口。

java 的 (PO,VO,TO,BO,DAO,POJO) 解釋

PO(persistant object) 持久對象

在 o/r 映射的時候出現(xiàn)的概念,如果沒有 o/r 映射,沒有這個概念存在了。通常對應數(shù)據模型 ( 數(shù)據庫 ), 本身還有部分業(yè)務邏輯的處理??梢钥闯墒桥c數(shù)據庫中的表相映射的 java 對象。最簡單的 PO 就是對應數(shù)據庫中某個表中的一條記錄,多個記錄可以用 PO 的集合。 PO 中應該不包含任何對數(shù)據庫的操作。

VO(value object) 值對象

通常用于業(yè)務層之間的數(shù)據傳遞,和 PO 一樣也是僅僅包含數(shù)據而已。但應是抽象出的業(yè)務對象 , 可以和表對應 , 也可以不 , 這根據業(yè)務的需要 . 個人覺得同 DTO( 數(shù)據傳輸對象 ), 在 web 上傳遞。

TO(Transfer Object) ,數(shù)據傳輸對象

在應用程序不同 tie( 關系 ) 之間傳輸?shù)膶ο?/p>

BO(business object) 業(yè)務對象

從業(yè)務模型的角度看 , 見 UML 元件領域模型中的領域對象。封裝業(yè)務邏輯的 java 對象 , 通過調用 DAO 方法 , 結合 PO,VO 進行業(yè)務操作。

business object: 業(yè)務對象

主要作用是把業(yè)務邏輯封裝為一個對象。這個對象可以包括一個或多個其它的對象。

比如一個簡歷,有教育經歷、工作經歷、社會關系等等。

我們可以把教育經歷對應一個 PO ,工作經歷對應一個 PO ,社會關系對應一個 PO 。

建立一個對應簡歷的 BO 對象處理簡歷,每個 BO 包含這些 PO 。

這樣處理業(yè)務邏輯時,我們就可以針對 BO 去處理。

QO :查詢對象

POJO(plain ordinary java object) 簡單無規(guī)則 java 對象

純的傳統(tǒng)意義的 java 對象。就是說在一些 Object/Relation

Mapping 工具中,能夠做到維護數(shù)據庫表記錄的 persisent

object 完全是一個符合 Java Bean 規(guī)范的純 Java 對象,沒有增加別的屬性和方法。我的理解就是最基本的 Java Bean ,只有屬性字段及 setter 和 getter 方法!。

DAO(data access object) 數(shù)據訪問對象

是一個 sun 的一個標準 j2ee 設計模式, 這個模式中有個接口就是 DAO ,它負持久層的操作。為業(yè)務層提供接口。此對象用于訪問數(shù)據庫。通常和 PO 結合使用, DAO 中包含了各種數(shù)據庫的操作方法。通過它的方法 , 結合 PO 對數(shù)據庫進行相關的操作。夾在業(yè)務邏輯與數(shù)據庫資源中間。配合 VO,

提供數(shù)據庫的 CRUD 操作 ...

DTO :

Data Transfer Object 數(shù)據傳輸對象

主要用于遠程調用等需要大量傳輸對象的地方。

比如我們一張表有 100 個字段,那么對應的 PO 就有 100 個屬性。

但是我們界面上只要顯示 10 個字段,

客戶端用 WEB service 來獲取數(shù)據,沒有必要把整個 PO 對象傳遞到客戶端,

這時我們就可以用只有這 10 個屬性的 DTO 來傳遞結果到客戶端,這樣也不會暴露服務端表結構 . 到達客戶端以后,如果用這個對象來對應界面顯示,那此時它的身份就轉為 VO

DAO :數(shù)據訪問對象 —— 同時還有 DAO 模式

DTO :數(shù)據傳輸對象 —— 同時還有 DTO 模式

O/R Mapper 對象 / 關系 映射

定義好所有的 mapping 之后,這個 O/R

Mapper 可以幫我們做很多的工作。通過這些 mappings, 這個 O/R

Mapper 可以生成所有的關于對象保存,刪除,讀取的 SQL 語句,我們不再需要寫那么多行的 DAL 代碼了。

實體 Model( 實體模式 )

DAL( 數(shù)據訪問層 )

IDAL( 接口層 )

DALFactory( 類工廠 )

BLL( 業(yè)務邏輯層 )

BOF     Business Object Framework       業(yè)務對象框架

SOA     Service Orient Architecture     面向服務的設計

EMF     Eclipse Model Framework       

Eclipse 建??蚣?/p>

下面是個人理解

VO基本理解

value object:值對象

view object:表現(xiàn)層對象

簡要理解(部分人認為同DTO有部分相同作用)

通常用于業(yè)務層之間的數(shù)據傳遞,主要對應界面顯示的數(shù)據對象,他的對應對象可以是一個WEB頁面,或者SWT、SWING的一個界面,通常用一個VO對象對應整個界面的值;

O/R Mapper基本理解

Object Relational Mapping:對象/關系 映射*

作用

定義好所有的mapping之后,這個O/R Mapper可以幫我們做很多的工作;通過這些mappings,這個O/R Mapper可以生成所有的關于對象保存,刪除,讀取的SQL語句,我們不再需要寫那么多行的DAL代碼了

建議了解

在O/R Mapping的世界里,有兩個基本的也是重要的對象需要了解,即VO,PO

PO基本理解

persistant object :持久對象

注意

PO中應該不包含任何對數(shù)據庫的操作!

簡介

在o/r映射的時候出現(xiàn)的概念,如果沒有o/r映射,就沒有這個概念存在了??梢钥闯墒桥c數(shù)據庫中的表相映射的java對象,一般包含數(shù)據模型(數(shù)據庫),部分業(yè)務邏輯;最簡單的PO就是對應數(shù)據庫中某個表中的一條記錄,多個記錄可以用PO的集合;

簡要理解

PO對應數(shù)據庫表,且數(shù)據庫表會映射一個PO(java對象),一個PO就是數(shù)據庫中的一條記錄,我們這可以把這條記錄作為一個對象處理,可以方便的轉為其它對象;

VO與PO區(qū)別

  • VO是用new關鍵字創(chuàng)建,由GC回收的
  • PO則是向數(shù)據庫中添加新數(shù)據時創(chuàng)建,刪除數(shù)據庫中數(shù)據時削除的。并且它只能存活在一個數(shù)據庫連接中,斷開連接即被銷毀
  • VO是值對象,精確點講它是業(yè)務對象,是存活在業(yè)務層的,是業(yè)務邏輯使用的,它存活的目的就是為數(shù)據提供一個生存的地方
  • PO則是有狀態(tài)的,每個屬性代表其當前的狀態(tài)。它是物理數(shù)據的對象表示。使用它,可以使程序與物理數(shù)據解耦,并且可以簡化對象數(shù)據與物理數(shù)據之間的轉換
  • VO的屬性是根據當前業(yè)務的不同而不同的,也就是說,它的每一個屬性都一一對應當前業(yè)務邏輯所需要的數(shù)據的名稱
  • PO的屬性是跟數(shù)據庫表的字段一一對應的
  • PO對象需要實現(xiàn)序列化接口

BO基本理解

business object:業(yè)務對象

簡要理解

封裝業(yè)務邏輯的java對象,通過調用DAO方法,結合PO,VO進行業(yè)務操作 ;

理解(BO統(tǒng)籌PO)

主要作用是把業(yè)務邏輯封裝為一個對象。這個對象可以包括一個或多個其它的對象。

比如一個簡歷,有教育經歷、工作經歷、社會關系等等。

我們可以把教育經歷對應一個PO,工作經歷對應一個PO,社會關系對應一個PO。

建立一個對應簡歷的BO對象處理簡歷,每個BO包含這些PO。

這樣處理業(yè)務邏輯時,我們就可以針對BO去處理。

POJO基本理解

plain ordinary java object:簡單無規(guī)則java對象

簡介

單純的傳統(tǒng)意義的java對象。就是說在一些Object/Relation Mapping工具中,能夠做到維護數(shù)據庫表記錄的persisent object完全是一個符合Java Bean規(guī)范的純Java對象,沒有增加別的屬性和方法。我的理解就是最基本的Java Bean,只有屬性字段及setter和getter方法

簡要理解

POJO首先區(qū)別于其他對象,同時是最常見最多變的一個中間常用對象

不同場景下POJO的代表

  • 一個POJO持久化以后就是PO
  • 直接用它傳遞、傳遞過程中就是DTO
  • 直接用來對應表示層就是VO

DAO(常用)基本理解

data access object:數(shù)據訪問對象

簡介

一個標準j2ee設計模式,夾在業(yè)務邏輯與數(shù)據庫資源中間,通過DAO接口訪問數(shù)據庫,DAO中包含了各種數(shù)據庫的操作方法(CRUD操作),通過它的方法,結合PO對數(shù)據庫進行相關的操作,基本沒有互相轉化的可能性和必要;同時可以通過它把POJO持久化為PO,用PO組裝出來VO、DTO ~

簡要理解

通常和PO結合使用,DAO中包含了各種數(shù)據庫的操作方法;通過它的方法 , 結合PO對數(shù)據庫進行相關的操作;配合VO,提供數(shù)據庫的CRUD(增刪改查)操作

DTO(較少用,過渡作用)基本理解

Data Transfer Object:數(shù)據傳輸對象

簡要理解

主要用于遠程調用需要大量傳輸對象的地方

列子理解

比如我們一張表有100個字段,那么對應的PO就有100個屬性.

但是我們界面上只要顯示10個字段,

客戶端用WEB service來獲取數(shù)據,沒有必要把整個PO對象傳遞到客戶端,

這時我們就可以用只有這10個屬性的DTO來傳遞結果到客戶端,這樣也不會暴露服務端表結構.到達客戶端以后,如果用這個對象來對應界面顯示,那此時它的身份就轉為VO

TO基本理解

Transfer Object:數(shù)據傳輸對象

簡要理解

在應用程序不同tie(關系)之間傳輸?shù)膶ο?/p>

QO基本理解

Query Object:查詢對象

簡要理解

存儲一些與持久性查詢操作的語句對象

DO基本理解

Domain Object:領域對象

簡要理解

就是從現(xiàn)實世界中抽象出來的有形或無形的業(yè)務實體

最后再介紹下Bean,Conn

Bean包就是專門放置屬性類的,比如在數(shù)據庫中創(chuàng)建了一個表,那么你可以把這個表的各個字段,分別定義成屬性放置在一個類里,并寫明setter和getter方法,然后把這個類放置在bean包下面。

Conn建立了一個數(shù)據庫連接對象,其他所有涉及到數(shù)據庫操作的文件都需要包含這個文件并引用該對象。

更多關于java中PO、VO、BO、POJO、DAO、DTO、TO、QO、Bean、conn的理解請查看下面的相關鏈接

相關文章

最新評論