浏览有关小城镇建设的网站记录,wordpress手机分享图片,wordpress微商城,个人如何做seo推广PO #xff1a;persistent object持久对象 1 #xff0e;有时也被称为Data对象#xff0c;对应数据库中的entity#xff0c;可以简单认为一个PO对应数据库中的一条记录。2 #xff0e;在hibernate持久化框架中与insert/delet操作密切相关。 3 #xff0e;PO中不应该包含任… PO persistent object持久对象 1 有时也被称为Data对象对应数据库中的entity可以简单认为一个PO对应数据库中的一条记录。2 在hibernate持久化框架中与insert/delet操作密切相关。 3 PO中不应该包含任何对数据库的操作。 --------------------------------------------------------- POJO plain ordinary java object 无规则简单java对象 一个中间对象可以转化为PO、DTO、VO。 1 POJO持久化之后〉PO 在运行期由Hibernate中的cglib动态把POJO转换为POPO相对于POJO会增加一些用来管理数据库entity状态的属性和方法。PO对于programmer来说完全透明由于是运行期生成PO所以可以支持增量编译增量调试。 2 POJO传输过程中〉DTO 3 POJO用作表示层〉VO PO 和VO都应该属于它。 ---------------------------------------------------------- BO business object 业务对象 封装业务逻辑为一个对象可以包括多个PO通常需要将BO转化成PO才能进行数据的持久化反之从DB中得到的PO需要转化成BO才能在业务层使用。 关于BO主要有三种概念 1 、只包含业务对象的属性 2 、只包含业务方法 3 、两者都包含。 在实际使用中认为哪一种概念正确并不重要关键是实际应用中适合自己项目的需要。 ---------------------------------------------------------- VO value object值对象 / view object表现层对象 1 主要对应页面显示web页面/swt、swing界面的数据对象。 2 可以和表对应也可以不这根据业务的需要。 注 在struts中用ActionForm做VO需要做一个转换因为PO是面向对象的而ActionForm是和view对应的要将几个PO要显示的属性合成一个ActionForm可以使用BeanUtils的copy方法。 ---------------------------------------------------------- DTO TO Data Transfer Object数据传输对象 1 用在需要跨进程或远程传输时它不应该包含业务逻辑。 2 比如一张表有100个字段那么对应的PO就有100个属性大多数情况下DTO 内的数据来自多个表。但view层只需显示10个字段没有必要把整个PO对象传递到client这时我们就可以用只有这10个属性的DTO来传输数 据到client这样也不会暴露server端表结构。到达客户端以后如果用这个对象来对应界面显示那此时它的身份就转为VO。 ---------------------------------------------------------- DAO data access object数据访问对象 1 主要用来封装对DB的访问CRUD操作。 2 通过接收Business层的数据把POJO持久化为PO。 Daoimpl是对dao接口的实现类对多数据库项目有用如果项目肯定一直都只用一种平台的数据库用不用就无所谓了另外在dao中也可以封装对非关系数据库的访问比如邮件系统、文件系统等. 采集 转载于:https://www.cnblogs.com/Lightning-Kid/p/3933615.html