PO VO DTO等说明

一篇文章讲清楚VO,BO,PO,DO,DTO的区别 - 知乎 (zhihu.com)

PO,BO,VO,DTO和POJO的区别_小猴子的博客-CSDN博客

上述文章给出的建议:

1,PO这个没法省,不管叫PO还是Entity,怎么着都得有

2,一些工具类的系统和一些业务不是很复杂的系统DTO是可以和BO合并成一个,当业务扩展的时候注意拆分就行

3,VO是可以第一个优化掉的,展示业务不复杂的可以压根儿不要,直接用DTO

4,这也是最重要的一条,概念是给人用的,多人协作的时候一定要保证大家的概念一致

5  PO VO 各种对象的转换有工具类快速实现

 

个人理解 只要记住:

1 数据库的表对应到基于mybatis-plus生成的entity 即PO中

 

2 后端返回给前端时 在service层要对业务数据进行处理

①数据转换 比如把”1“换为“男”或者“公子” 再存入新对象中

②数据修剪 比如查到的年龄不需要,就不要存到新对象中

 

这个新对象就叫VO,VO的数据和数据库中的数据在数量和内容上并不对应,这个VO就是返回给前端的数据

 

3 关于DTO

比如一张表有100个字段,那么对应的PO就有100个属性(大多数情况下,DTO内的数据来自多个表)。

但view层只需显示10个字段,没有必要把整个PO对象传递到client,这时我们就可以用只有这10个属性的DTO来传输数据到client,这样也不会暴露server端表结构。到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO

 

简易的关系图:

这里写图片描述

 

posted @ 2021-10-04 23:57  夏·舍  阅读(200)  评论(0编辑  收藏  举报