java dto

作者:原创时间:2022-03-30
文档

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。

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java dynamic java flume java ear java foreach循环 java fork java ecc加密 java formatter java echarts java ehcache java email java empty java encapsulation java future java generator java enhancer java generic java enterprise java environment java epoll java error java drools java flink java dowhile java flatmap java findfirst java fileinputstream java file.exists() java dockerfile java field获取值 java field java divide java feign java fastjson java dict java development java fastdfs java dev java dependency java调用asmx接口 java delete