java dto是什么,讓我們一起了解一下:
DTO是數據傳輸對象(Data Transfer Object),是一種設計模式之間傳輸數據的軟件應用系統,數據傳輸目標往往是數據訪問對象從數據庫中檢索數據,java中的dto把數據封裝到對象里面,臨時裝數據,與數據庫表沒有關系。
在java中使用dto有哪些好處?
1、依據現有的類代碼,即可方便的構造出DTO對象,而無需重新進行分析。
2、減少請求次數,大大提高效率。
3、按需組織DTO對象,頁面需要的字段我才組織,不需要的我不組織,可以避免傳輸整個表的字段,一定程度上提高了安全性。
實戰操作:通過一個javaBean,來封轉數據。
1?packagecn.com.cmbc.ccc.rolemanage.application; 3?importjava.io.Serializable;4?importjava.util.HashMap;5 6?public?class?UserDTO?implementsSerializable{7?/** 8?*?Property:序列化版本9?*/ 10?private?static?final?long?serialVersionUID?=?1314L;11?/** 12?*?Property:用戶標識13?*/ 14?privateString?UserId;15?/** 16?*?Property:用戶姓名17?*/ 18?privateString?UserName;19?/** 20?*?Property:用戶性別21?*/ 22?privateString?UserSex;23?/** 24?*?Property:添加額外屬性25?*/ 26?private?HashMapextProperties;27 28?/** 29?*?Getter?Method30?*@return用戶標識31?*/ 32?publicString?getUserId()?{33?returnUserId;34?}35?/** 36?*?Setter?Method37?*/ 38?public?voidsetUserId(String?userId)?{39?UserId?=userId;40?}41?/** 42?*?Getter?Method43?*@return用戶姓名44?*/ 45?publicString?getUserName()?{46?returnUserName;47?}48?/** 49?*?Setter?Method50?*/ 51?public?voidsetUserName(String?userName)?{52?UserName?=userName;53?}54?/** 55?*?Setter?Method56?*/ 57?public?voidsetUserSex(String?userSex)?{58?UserSex?=userSex;59?}60?/** 61?*?Getter?Method62?*@return用戶性別63?*/ 64?publicString?getUserSex()?{65?returnUserSex;66?}67?/** 68?*?Setter?Method69?*/ 70?public?void?setExtProperties(HashMapextPro){71?this.extProperties=extPro;72?}73?/** 74?*?Getter?Method75?*@return額外的屬性信息76?*/ 77?public?HashMapgetExtProperties(){78?returnextProperties;79?}80?}
拓展一下:了解PO、BO、VO、DTO、POJO、DAO的區別:
1、PO:persistant object持久對象,最形象的理解就是一個PO就是數據庫中的一條記錄。好處是可以把一條記錄作為一個對象處理,可以方便的轉為其它對象。
2、BO:business object業務對象,主要作用是把業務邏輯封裝為一個對象。這個對象可以包括一個或多個其它的對象。比如一個簡歷,有教育經歷、工作經歷、社會 關系等等。我們可以把教育經歷對應一個PO,工作經歷對應一個PO,社會 關系對應一個PO。建立一個對應簡歷的BO對象處理簡歷,每個BO包含這些PO。這樣處理業務邏輯時,我們就可以針對BO去處理。
3、VO:value object值對象,ViewObject表現層對象,主要對應界面顯示的數據對象。對于一個WEB頁面,或者SWT、SWING的一個界面,用一個VO對象對應整個界面的值。
4、DTO:Data Transfer Object數據傳輸對象,主要用于遠程調用等需要大量傳輸對象的地方。比如我們一張表有100個字段,那么對應的PO就有100個屬性。但是我們界面上只要顯示10個字段,客戶端用WEB service來獲取數據,沒有必要把整個PO對象傳遞到客戶端,這時我們就可以用只有這10個屬性的DTO來傳遞結果到客戶端,這樣也不會暴露服務端表結構.到達客戶端以后,如果用這個對象來對應界面顯示,那此時它的身份就轉為VO。
5、POJO:plain ordinary java object 簡單java對象,個人感覺POJO是最常見最多變的對象,是一個中間對象,也是我們最常打交道的對象。一個POJO持久化以后就是PO,直接用它傳遞、傳遞過程中就是DTO,直接用來對應表示層就是VO。
6、DAO:data access object數據訪問對象,這個大家最熟悉,和上面幾個O區別最大,基本沒有互相轉化的可能性和必要。主要用來封裝對數據庫的訪問。通過它可以把POJO持久化為PO,用PO組裝出來VO、DTO。
以上就是小編今天的分享了,希望可以幫助到大家。