在Java中VO , PO , BO , QO, DAO ,POJO是什么意思
在Java中VO , PO , BO, DAO ,POJO是什么意思
最近在项目中,遇到VO,我的天。。。那就一起学习回忆一下
首先简单说明下:
O/R Mapping是Object Relational Mapping(对象关系映射)的缩写。简单来说,就是将对象和关系数据库绑定,用对象来表示关系数据。
Java WEB三层架构咱们更需要熟练使用
VO:值对象(Value Object)
用new关键字创建,有GC回收通常用于业务层之间的数据传递,一般是抽象出的业务对象,可以和数据表相对应,也可以不。在web层,对应一个web页面或者swt界面,用一个VO对象对应一个界面的值。
PO:持久对象(Persistant Object)
属性和数据库表中的字段一一对应,可以看成是数据库中的表相映射的java对象。由数据库insert产生,由数据库delete删除。其生命周期和数据库密切相关,但PO中不应该包含任何对数据库的操作。
其java文件一般都是数据库表中字段属性和对应的get,set方法
BO:业务对象(business object)
主要作用是把业务逻辑封装成一个对象。这个对象可以包括一个或多个其他的对象。比如一个简历,有教育经历,实习经历,得奖情况等等,建立一个对应简历的BO对象处理简历,每个BO包含这些PO,这样处理业务逻辑时,我们可以针对BO进行处理。
DTO:数据传输对象(Data Transfer Object)同时又DTO模式
主要用于远程调用等需要大量传输对象的地方。比如我们一张表有100个字段,那么对应的PO就有100哥属性。但是我们的界面上只要显示10个字段,客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端。这是我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构。到达客户端以后,如果用这个对象来对应界面显示,那么此时它的身份就转为VO
DAO:数据访问对象(Data Access Object)同时又DAO模式
主要用来封装对数据库的访问,包含了各种数据库的操作方法,提供数据库的CRUD操作。通过它可以把POJO持久化为PO,用PO组装为DTO、VO
POJO:简单Java对象(Plain Ordinary Java Object)
POJO是最常见最多变的对象,是一个中间对象,也是我们最常见的打交道的对象。
一个POJO持久化以后就是PO
直接用它传递,传递过程中就是DTO
直接用来对应标识层就是VO
画个图简单表示一下(借用别人的图)
地址:http://jeoff.blog.51cto.com/186264/88517/