PO VO BO DTO POJO DAO 总体一览:
1.DAO[data access object]数据访问对象
用于数据访问的 java 类,对数据访问不仅仅指的是对数据库的访问。
假如A系统调用B系统的服务获取数据,这时候A系统对B系统访问数据对象的封装也可以称为DAO。
2.DTO[data transfer object]数据传输对象
主要用于从dao层获取到返回值,并传输到页面展示 的数据传输对象。
假设数据表中存在20个字段,但是在页面展示列表的时候,这20个字段显然都不会用到。
我想对其中的5个字段进行展示,而且这5个字段展示的时候,也并不是数据库中他们原有的样子。
还需要进行计算、截取、业务代码转名称 .....等等,数据传输对象因此而被诞生。
一是能提高数据传输的速度,二能隐藏后端表结构。有时候也命名为 pojo。
3.PO[persistant object]持久层对象
主要用于dao层 的增、删、改操作中的传参。
持久对象属性和数据库中的字段是一一对应的,数据库中的一条数据可以理解为一个持久对象。
4.BO[bussiness object]业务对象
主要用于从dao层 获取返回值,并在service层 进行业务处理的对象。
业务对象,顾名思义是在业务处理中抽象出来的对象,里面除了get/set 方法外,也可以有对字段进行业务处理的方法。
假设有一个班级 业务处理类,其中成员变量对象:学生类、教师类、桌椅板凳等,都是业务对象的组成部分。学生、教室....都可以是和数据库对应的PO。
5.VO[value object]值对象
值对象也可以称做页面对象。
如果称为页面对象,那么它所代表的将是整个页面展示层的对象。将页面的多个DTO 合并为一个 VO
如果称为值对象,那么它代表的是存放业务对象的值。将多个BO 合并为一个 VO
4.POJO[plain ordiary java object] 简单java对象
简单java对象应该是JavaEE世界里面最灵活的对象。
如果用于 从数据库到页面展示,它可以是DTO。
如果用于 从数据库到业务处理,它也可以是BO。
同样用于 从数据库到整个页面的展示,它同样可以是VO。