本文最后更新于125 天前,其中的信息可能已经过时,如有错误请发送邮件到15578243672@163.com
有一张十分经典的图可以描述他们之间的关系

VO—–是DTO的进行删改所成的对象,字段名可以与DTO中的字段名不同,通常用MapStruct映射因此用前端看数据的时候数据名可不一定有效,具体还是得按照后端的逻辑来处理可以分为以下三种情况
- VO和DTO完全相同
- VO是一个DTO的子集,也就是VO仅有部分DTO的属性组成
- VO由多个DTO的组合而成,可以是部分组合,也可以是全部组合
DTO—–前端传过来的数据封装成DTO给后端,业务处理部分使用的就是DTO数据来进行出来,而且BO其实也可以叫做是DTO,但不建议这样区别,会造成混乱,直接严谨一些认为在Java程序中被用于流转操作的对象都当成DTO
BO—– 基本不用去特意区分,很多时候大家都不一定会写这个BO
PO——封装持久化对象的,也就是根据数据内容来封装而成的对象,将来要写入数据库中去的,这个PO不会被我们用于操作,一般生成好就是用于mybaits去操作数据库的









