PO(bean、entity等命名):

持久对象,对应数据库表中的每一行记录,对应数据库的entity

BO(service、manager、business等命名)

业务对象,将业务逻辑封装成一个对象,这个对象可以包含多个对象,也就是一个BO可以理解为一个或者多个PO的组合,如,学生-PO,学校-PO,老师-PO,这些PO可以组合成一个BO,这样,处理业务逻辑的时候可以只处理一个BO

VO

表现层对象,服务器向客户端展示的数据对象,主要对应界面展示,数据库设计时,有些字段不需要再页面展示,可以创建一个VO来封装页面需要展示的字段

DTO

数据传输对象,用于客户端和服务端输入输出数据对象,客户端向服务端传输数据,controller收到视图层传输数据VO,通过删减,转成DTO,向service层传输.如果数据从服务端向客户端传输,会将DTO转成VO,将VO展示到视图层

关系层级如图:

(图片来源于其他)

实际使用中:数据库查询出来的数据,一般放在entity包下面,里面的对象就是PO,痛过service层的业务逻辑处理,封装PO为BO,给controller层,如果controller层传输给前端展示的数据更少,需要处理,DTO,删减BO的属性,输出给前端VO,展示数据

参考其他资料总结,有更好的理解再更正补充

PO,BO,VO,DTO区别相关推荐

  1. PO,BO,VO,DTO和POJO的概念区分

    PO,BO,VO,DTO和POJO的概念区分 文章目录 PO,BO,VO,DTO和POJO的概念区分 POJO(plain ordinary java object) VO(View Object) ...

  2. Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分

    Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分 PO:持久对象 (persistent object),po(persiste ...

  3. java中bean对象_JAVA中PO,BO,VO,DTO,POJO,Entity,JavaBean,JavaBeans各个对象的区别,以及lombo、jpa简介及用法...

    常见JAVA类概念介绍 PO:持久对象 (persistent object). 是ORM(Objevt Relational Mapping)框架中Entity,PO属性和数据库中表的字段形成一一对 ...

  4. PO,BO,VO,DTO和POJO

    概念 POJO(plain ordinary java object) 无规则简单java对象 VO(View Object) 视图对象,用于表现层,它的作用是把某个指定页面(或组件)的所有数据封装起 ...

  5. PO BO VO DTO POJO DAO DO 在java中的概念

    PO BO DTO VO POJO PO DTO VO BO 都叫POJO,就是个简单的java对象: DAO 是进行数据库增删改查的类. BO 业务对象,封装对象.复杂对象 ,里面可能包含多个类: ...

  6. PO BO VO DTO POJO DAO概念

    刚开始写blog,主要的目的是积累,学习,供日后查找! 如题,今天跟主管交流,被好多名词整蒙了,这些词以前都听说过,但是对其内在的含义并不是很清楚的了解,借此机会写上来,增加记忆和理解吧. 一下是原文 ...

  7. PO/BO/VO/DTO/POJO/DAO/DO

    文章目录 DO(Domain Object) DO(Data Object) PO VO BO DTO POJO DAO JavaBean EJB Entity 应用程序的分层设计 MVC 业务分层 ...

  8. PO BO VO DTO POJO DAO概念及其作用(附转换图)

    J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...

  9. java常见业务对象_Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分...

    PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...

最新文章

  1. 数据库持久 项目重启_Aerospike + ScaleFlux 提供的超高性能方案助力同盾超大规模核心数据库系统...
  2. leetcode 994. Rotting Oranges | 994. 腐烂的橘子(BFS)
  3. docker应用,后端服务出现OOM情况排查
  4. python2exe下载_py2exe下载 0.6.9.win32-py2.7-python转exe工具-pc6下载站
  5. BZOJ 1502:月下柠檬树
  6. windows tcp ping 端口工具及使用方法
  7. 基于WebAssembly 的H.265播放器研发
  8. CCF 期刊、会议 推荐目录
  9. #######好好好好##########知识图谱商业应用
  10. python编程语言在线编译手机_groovy在线运行,groovy在线编译,支持手机在线编程写代码 - Groovy教程...
  11. 10年涨7倍!纵观南京房价变迁史,看哭多少买房人!
  12. 新西兰计算机设计专业,2020年出国新西兰学习计算机专业的要求是什么?
  13. python简单实现排列和组合的计算
  14. xposed模块编写教程_太极xposed模块使用教程
  15. USB billboard
  16. 第二篇:到底什么才是数据资产
  17. com.google.android.material.tabs.TabLayout 选择tab 加粗字体加大
  18. 在Java里面使用Pairs或者二元组
  19. 【学习OpenCV4】图像金字塔总结
  20. java面试项目中遇到什么问题,大量教程

热门文章

  1. VUE+vue-print-nb,vue打印我踩过的坑
  2. tcc php,事务 - TCC模式
  3. 惠普HP LaserJet M439n 打印机驱动
  4. KMP算法最浅显理解——一看就明白
  5. ubuntu重启快捷键
  6. 征稿 | 第22届国际语义网大会​(ISWC 2023)征稿通知
  7. SAP FICO CBS接口-银企直连付款平台功能开发说明书(包括测试样例、FS)
  8. 性能监控工具nmon介绍
  9. BMP位图格式详解一
  10. 实时游戏对战引擎Photon