1. 阿里巴巴java开发手册的描述
1.1 DO
DO (Date Object) : 此对象与数据库一一对应,通过DAO层向上传输数据库对象
1.2 DTO
DTO(Date Transfer Object):数据传输对象,service 或manager向外传输对象
1.3 BO
BO(Business Object)业务对象,由service层输出的业务逻辑对象
1.4 AO
AO (Application Object)应用对象,在web与service层之间抽象的复用对象模型,极为贴近展示层,复用度不高。
1.5 VO
VO (View Object)展示层对象,通常是 web向模板渲染引擎层传输的对象
1.6 Query
Query 数据查询对象,各层接收上层查询请求,注意超过两个查询参数封装,禁止使用Map类来传输
2. 自己笔记
DTO 跟VO :页面需要展示几个字段,DTO、VO实体类就写几个属性 DTO用来传输,controller .service 层都用dto来进行传递,vo 可以写成分页 xxxxpageVo 和详情xxxxDetailVo。
Query: 可以用来当分页query xxxxPageQuery
Po:对应数据库字段,表中有几个字段Po实体就有几个属性,与数据库一一对应
自定义分页属性工具类:pageVo ,pageVo 中有总页数、当前页等属性。
至于为什么要用DTO传递,不直接VO跟数据库一一对应传递,一种是安全,保护数据库,还有一种是规范。
例:
pageVo<分页实体vo> listPage (xxxPageQuery query);
void update(xxxxxDto dto);