Java实习日记(6)
Question :常用的Java对象概念
PO(Persistant Object),持久对象,用于表示数据库中的一条记录映射成Java对象,一般数据表有多少字段,PO就会有多少字段。PO仅用于表示数据,没有任何数据操作,完全是一个遵守Java Bean规范的纯Java对象,拥有getter/setter方法。
VO(Value Object),值对象,通常用于业务层之间传递数据,和PO一样也是仅仅包含数据而已。例如后台与前端进行交互,可以使用VO只包含前段需要的字段,这样可以减少传输数据量大小和保护数据库结构不被外泄。VO可以根据具体业务需求设计即可,它同样遵守Java Bean规范。
DTO(Data Transfer Object),数据传输对象,用于不通服务间传输数据。泛指表现层和服务层之间数据传递对象;
BO(Business Object),业务对象,用于表示封装业务逻辑的Java对象。常位于业务层,提供基本业务单元的操作。通过调用DAO方法,结合PO、VO进行业务操作。可以参考网上的一个例子来理解:
例如一个简历包含教育经历、工作经历、社会关系三部分;我们可以把教育经历对应一个PO、工作经历对应一个PO、社会关系对应一个PO;然后创建一个对应简历的BO对象,这个BO中包含以上三个PO;这样一来,我们在处理业务逻辑时就可以针对BO去处理。
POJO(Plain Ordinary Java Object),简单Java对象,就是普通的JavaBeans,上面介绍的PO、VO、DTO都是典型的POJO。
一个POJO持久化后就是PO;直接用POJO传递就是DTO;直接用来对应表示层就是VO;
DAO(Data Access Object),数据访问对象,用于访问数据库,包括增、删、改、查等操作,与PO一起使用。DAO一般在持久层,完全封装数据库操作,对外暴露方法,使上层应用无需关注数据库相关的信息侧偶作。
例如:
数据表:username、address、password
PO :username、address、password
DTO:username、address
VO: username、address
DAO:数据表的增删改查
参考链接:
https://blog.csdn.net/gaoyunpeng/article/details/2093211
http://www.cnblogs.com/lyjin/p/6389349.html
https://www.zhihu.com/question/39651928
Java实习日记(6)相关推荐
- 大三暑期去上海亚信实习日记
实习日记 我是一名某三本院校的大三学生,专业是"数据科学与大数据技术",在钉钉时代,找到了我第一份实习.公司是亚信科技,应聘的岗位是JAVA开发,地点在上海. 2020年6月11日 ...
- 【日记】Java学习日记(第63天)持续无聊更新
前言 Youtube上EJ Media(up主)的视频我依次学完了HTML.CSS.Javascript.Jquery.觉得他教得挺好的(短小精悍),就继续学他教的JAVA.感觉EJ教的都是些语法什么 ...
- css碎步测量,隧洞测量实习日记.doc
隧洞测量实习日记 隧洞测量实习日记 篇一:隧道施工测量实习日记1 今天是我来到中遂股份合福高铁闽赣段七工区的第一天,是把自己所学的理论知识用到实践中来的时候了,很开心!这一天单位上的所有人对我的到来表 ...
- 从零基础到拿到网易Java实习offer,我做对了哪些事
点击上方蓝字可以订阅哦! 作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右 ...
- Java学习日记1——基础认知
Java学习日记1--基础认知 学习Java阶段,如果发现不正确的描述,还请指正! 首先附上Java相关下载链接和配置教程链接 Java相关软件工具下载地址:官方下载 Java环境配置(win10配置 ...
- Java实习面试重点基础知识
今天第一次参加面试,十分紧张,加上本身我就学艺不精,没系统学过Java去面Java实习,问出的许多问题我都没有回答出来,估计我的第一次实习生面试凉了. 不过总不能沉溺于过去,总结一下今天面试中我遇到的 ...
- java实习报告范文
篇1:java实习报告范文一.前言 实习时间:20_年02月07号---20_年06月1号 实习地点:河北中信联信息技术有限公司软件开发实习生 实习目的:通过实习,培养学生树立理论联系实际的工作作 ...
- 关于java实习心得总结(十篇)
关于java实习心得总结(篇一) 初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也没有什么TurboC,VisualC++好用,什么JA_HOME,CLASSPATH,虚拟机 ...
- Java 实习要掌握的知识
1. Java 基础知识: Java 基础语法:包括变量.常量.数据类型.运算符.流程控制语句等. 面向对象编程的概念:如类.对象.继承.多态.接口等. 异常处理机制:如 try-catch-fana ...
- 计算机网络维护日记,计算机网络维护实习日记.doc
计算机网络维护实习日记.doc (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 videoconference, Secreta ...
最新文章
- 阿里文娱搜索算法实践与思考
- python flask gunicorn nginx 部署
- 物理化学 化学 动力学(下)
- 最详细的linux下的磁盘分区及格式化
- 前端模式 VD, 脏检查 MVVM ,数据收集 MVVM 所使用的场合
- Windows10远程桌面连接提示:出现身份验证错误,要求的函数不受支持
- CentOS 7 各个版本的区别
- (9)二进制文件方式部署Kubernetes高可用集群----------部署master节点
- 平面与网页设计中关于颜色搭配的问题
- awesome系列网址
- Python中的*和**
- GAN二次元头像生成Pytorch实现(附完整代码)
- moses 编译_MOSES安装以及使用说明
- RocketMq之消费方式
- python美化excel_Python 使用 prettytable 库打印表格(美化输出)
- RTK模块性能测试分析对比-GNSS实测- RTK板卡100赫兹延迟实测及分析
- ASP.NET 上传图片添加文字、Logo水印
- dll修复精灵无法链接服务器,教你一键dll修复精灵怎么使用
- Python中使用遍历在列表中添加字典的坑
- ecplise提示:“The selection cannot be launched, and there are no recent launches.”
热门文章
- PMP-2.项目集、项目组合、项目运营和生命周期
- R语言数据分析之二-《R语言判断相关性-excel文件xlsx文件》
- 怎样让电脑中的jar包显示Java图标
- php tp admin怎么安装,TP的配置及安装 · Thinkphp5.1+AdminLTE内容管理系统(商城版) 请不要购买 到群上下载源码 · 看云...
- 【刘润五分钟商学院】-151幸存者偏见
- USB充电限流芯片,5V输入,输出5V,6V触发关闭
- tcp 粘包是怎么产生的?
- jclasslib插件_IDEA安装jclasslib 插件查看字节码详解
- m3u8在线提取工具:M3U8 Downloader 高速专业m3u8下载器下载
- 机械手三维图 matlab,机械手的三维建模