dto简单应用介绍 http://blog.csdn.net/visant
2017-08-21 17:55
706 查看
DTO就是数据传输对象(Data Transfer Object)的缩写。 DTO模式,是指将数据封装成普通的JavaBeans,在J2EE多个层次之间传输。 DTO类似信使,是同步系统中的Message。 该JavaBeans可以是一个数据模型Model。
在传统的编程中,我们一般都是前台请求数据,发送到Webservice,然后WebService向数据库发出请求,获取数据,然后一层层返回;模型如下:
这种比较原始的请求方式带来的缺点有很多,多次请求耗费一定的网络资源,减慢效率。如果一次性返回整个实体类,还可能造成数据库表结构的泄漏。
采用DTO模型之后,整个流程就不一样了:
这样带来的好处有:
1.依据现有的类代码,即可方便的构造出DTO对象,而无需重新进行分析。
2.减少请求次数,大大提高效率。
3.按需组织DTO对象,页面需要的字段我才组织,不需要的我不组织,可以避免传输整个表的字段,一定程度上提高了安全性。
结合个人的开发经验来谈一下用法:
一般我们使用DTO类来继承entity实体类,在DTO类里放一些业务字段,并提供get、set方法。当我们在业务逻辑层或者交互层用到一些数据库中不存在的字段时,我们就需要在DTO类里放这些字段,这些字段的意义就相当于一些经处理过的数据库字段,实质意义就是方便数据交互,提高效率。
在传统的编程中,我们一般都是前台请求数据,发送到Webservice,然后WebService向数据库发出请求,获取数据,然后一层层返回;模型如下:
这种比较原始的请求方式带来的缺点有很多,多次请求耗费一定的网络资源,减慢效率。如果一次性返回整个实体类,还可能造成数据库表结构的泄漏。
采用DTO模型之后,整个流程就不一样了:
这样带来的好处有:
1.依据现有的类代码,即可方便的构造出DTO对象,而无需重新进行分析。
2.减少请求次数,大大提高效率。
3.按需组织DTO对象,页面需要的字段我才组织,不需要的我不组织,可以避免传输整个表的字段,一定程度上提高了安全性。
结合个人的开发经验来谈一下用法:
一般我们使用DTO类来继承entity实体类,在DTO类里放一些业务字段,并提供get、set方法。当我们在业务逻辑层或者交互层用到一些数据库中不存在的字段时,我们就需要在DTO类里放这些字段,这些字段的意义就相当于一些经处理过的数据库字段,实质意义就是方便数据交互,提高效率。
相关文章推荐
- 函数的简单应用(原帖地址:http://topic.csdn.net/u/20090317/16/c7f5c2e3-293d-4d67-85be-0a4a17d52855.html)
- Unity Mecanim在大型mmo中的应用 - langresser的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/langresser_king/artic
- 【JEEWX微信开发更便捷,Ngrok 内网穿透利器应用】http://blog.csdn.net/zhangdaiscott/article/details/51849227
- 破译动网验证码的简单方法 http://blog.csdn.net/wwqna/archive/2004/11/13/A1.aspx
- linux进程监控和简单的重启&服务的创建 参考自http://blog.csdn.net/lockheed_hong/article/details/73549837
- 在窗口应用中使用printf,cout 等将输出重定向到console收藏 http://blog.csdn.net/royer/archive/2007/01/25/1492968.aspx
- Linux常用命令介绍。转载自http://blog.csdn.net/suwu150
- 如何将Web应用打包成.war文件? 转自:http://blog.csdn.net/code_JAVA/archive/2008/05/19/2457749.aspx
- 数据挖掘和知识发现的技术、方法及应用 --------http://blog.csdn.net/gongfs/archive/2006/03/17/627244.aspx
- JScharts介绍(转载需注明。博客主页:http://blog.csdn.net/chszs)
- 简单驱动开发配置(转自http://blog.csdn.net/yinxu/archive/2007/11/12/1880561.aspx)经典
- 函数的简单应用(原帖地址:http://topic.csdn.net/u/20090317/16/c7f5c2e3-293d-4d67-85be-0a4a17d52855.html)
- WinCE中nandflash驱动开发介绍(转自http://blog.csdn.net/nanjianhui/archive/2008/03/16/2187206.aspx)
- ios开发关于log的一些应用http://blog.csdn.net/remote_roamer/article/details/7107320
- 用webbrowser实现html界面的应用(http://writeblog.csdn.net/PostEdit.aspx)
- Ext2.0框架的Grid使用介绍--转载http://blog.csdn.net/chiangbt/archive/2008/01/24/2064117.aspx
- ant 介绍 http://blog.csdn.net/sunjavaduke/archive/2007/03/08/1523819.aspx
- JAVA中数据库操作的各种方式与设计模式的应用(http://blog.csdn.net/wangyihust/archive/2006/01/14/579613.aspx)
- http://blog.csdn.net/guolin_blog/article/details/9316683
- http://blog.csdn.net