针对java工程里的各种带O的对象,进行分析,了解各自的作用。

  • PO:

persistent object,持久对象。与数据库里表字段一一对应。PO是一些属性,以及set和get方法组成。一般情况下,一个表,对应一个PO。是直接与操作数据库的crud相关。

  • VO:

view object,又名:表现层对象,即view object。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要。对于页面上要展示的对象,可以封装一个VO对象,将所需数据封装进去。

  • BO:

businessobject,业务对象。封装业务逻辑的 java 对象 , 通过调用 DAO 方法 , 结合 PO,VO 进行业务操作。 一个BO对象可以包括多个PO对象。如常见的工作简历例子为例,简历可以理解为一个BO,简历又包括工作经历,学习经历等,这些可以理解为一个个的PO,由多个PO组成BO。

  • DAO:

data access object,数据访问对象。此对象用于访问数据库。通常和 PO 结合使用, DAO 中包含了各种数据库的操作方法。通过它的方法 , 结合 PO 对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。

  • DTO:

data transfer object,数据传输对象。主要用于远程调用等需要大量传输对象的地方。

比如我们一张表有 100 个字段,那么对应的 PO 就有 100 个属性。 但是我们界面上只要显示 10 个字段, 客户端用 WEB service 来获取数据,没有必要把整个 PO 对象传递到客户端,

这时我们就可以用只有这 10 个属性的 DTO 来传递结果到客户端,这样也不会暴露服务端表结构 . 到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为 VO。

  • POJO:

plain ordinary java object) 简单无规则 java 对象 ,纯的传统意义的 java 对象。

转载自:https://www.toutiao.com/a6703062618506002956/?tt_from=mobile_qq&utm_campaign=client_share&timestamp=1560731184&app=news_article&utm_source=mobile_qq&utm_medium=toutiao_android&req_id=201906170826240100230720840976155&group_id=6703062618506002956

java中的VO、PO、BO、DAO、POJO的更多相关文章

  1. java的(PO,VO,TO,BO,DAO,POJO)解释

    java的(PO,VO,TO,BO,DAO,POJO)解释 O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定, ...

  2. java的(PO,VO,TO,BO,DAO,POJO)包解释

    java的(PO,VO,TO,BO,DAO,POJO)解释 action包  顾名思义请求,主要是和view 即我们所说的视图就是页面打交道,action类 是 操作方法,对于页 面Form 表单的操 ...

  3. [转]java的(PO,VO,TO,BO,DAO,POJO)类名包名解释

    java的(PO,VO,TO,BO,DAO,POJO)类名包名解释 2015-04-28 20:11 by Loull, 18 阅读, 0 评论, 收藏, 编辑 VO:值对象.视图对象 PO:持久对象 ...

  4. java的(PO,VO,TO,BO,DAO,POJO)解释1

    java的(PO,VO,TO,BO,DAO,POJO)解释  O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定 ...

  5. 关于VO、PO的理解——java的(PO,VO,TO,BO,DAO,POJO)解释

    O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据. 在O/R Mapping的世界里,有 ...

  6. PO,VO,TO,BO,DAO,POJO的解释

    java的(PO,VO,TO,BO,DAO,POJO)解释  O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定 ...

  7. java 中的VO,PO,DTO,DO对象

    经常会接触到VO,DO,DTO的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析. 得出的主要结论是:在项目应用中,VO对应于页面上需要显示的数据(表单),DO对应 ...

  8. java 的 (PO,VO,TO,BO,DAO,POJO) 解释

    最近在给Android写接口,其中服务器数据需要定义VO(Value Object)对象进行封装传输 对于VO ,PO , BO , QO,DAO,POJO概念还是比较模糊,所以在这里记录一下: O/ ...

  9. java的(PO,VO,TO,BO,DAO,POJO)类名包名解释

    VO:值对象.视图对象 PO:持久对象 QO:查询对象 DAO:数据访问对象——同时还有DAO模式 DTO:数据传输对象——同时还有DTO模式 PO:全称是persistant object持久对象最 ...

  10. java中的vo、dto 、dao

    VO是跟数据库里表的映射,一个表对应一个VO  DAO是用VO来访问真实的表,对数据库的操作都在DAO中完成  BO是业务层,做逻辑处理的 VO , PO , BO , QO, DAO ,POJO  ...

随机推荐

  1. 【C#表达式树 开篇】 Expression Tree - 动态语言

    .NET 3.5中新增的表达式树(Expression Tree)特性,第一次在.NET平台中引入了"逻辑即数据"的概念.也就是说,我们可以在代码里使用高级语言的形式编写一段逻辑, ...

  2. 用RecyclerView实现水平滚动和网格视图

    建立RecyclerViewActivity.java文件 1 public class RecyclerViewActivity extends AppCompatActivity { 2 priv ...

  3. 哈工大 计算机系统 实验二 Datalab数据表示

    所有实验文件可见github 计算机系统实验整理 由于word文件没有保存,因此如需参考此实验,请直接访问github文件

  4. Seastar 教程(二)

    协程 注意:协程需要 C++20 和支持的编译器.已知 Clang 10 及更高版本可以工作. 使用 Seastar 编写高效异步代码的最简单方法是使用协程.协程没有传统continuation(如下 ...

  5. LeetCode-004-寻找两个正序数组的中位数

    寻找两个正序数组的中位数 题目描述:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的 中位数 . 示例说明请见LeetCode官网. ...

  6. 一台电脑设置多个网段的IP地址

                    

  7. Pycharm新建Python项目

    关于新建项目时配置项目环境(最好是每个项目单独的虚拟Python环境): Python为什么要使用虚拟环境-Python虚拟环境的安装和配置-virtualenv Pycharm创建Python项目 ...

  8. VS Code远程链接报错Could not establish connection to “hz.matpool.com”

    VS Code远程链接报错Could not establish connection to "hz-t2.matpool.com" 输出的部分内容 安装Git git for w ...

  9. Flutter的强制自我审查

    在<如何做好 Code Review>中我论述过代码审查对于保证代码品质的重要性,最近开始采用Git Hooks的方式为Flutter项目增加提交前的强制自我审查.这样做的好处在于将机械化 ...

  10. think php jq ajax删除

    表单展示页面 <!doctype html> <html lang="en"> <head> <meta charset="UT ...