Redian新闻
>
别乱分层,PO、VO、DAO、BO、DTO、POJO 到底应该用在哪里,你知道吗?

别乱分层,PO、VO、DAO、BO、DTO、POJO 到底应该用在哪里,你知道吗?

公众号新闻

点击上方“芋道源码”,选择“设为星标

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33 更新文章,每天掉亿点点头发...

源码精品专栏

 
来源:网络


一、PO :(persistant object ),持久对象

可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 视频教程:https://doc.iocoder.cn/video/

二、VO :(value object) ,值对象

通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.

PO只能用在数据层,VO用在商业逻辑层和表示层。各层操作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud
  • 视频教程:https://doc.iocoder.cn/video/

三、DAO :(Data Access Objects) ,数据访问对象接口

DAO是Data Access Object数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。

J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码.

DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开.一个典型的DAO实现有下列几个组件:

  1. 一个DAO工厂类;
  2. 一个DAO接口;
  3. 一个实现DAO接口的具体类;
  4. 数据传递对象(有些时候叫做值对象).

具体的DAO类包含了从特定的数据源访问数据的逻辑。

四、BO :(Business Object),业务对象层

表示应用程序领域内“事物”的所有实体类。这些实体类驻留在服务器上,并利用服务类来协助完成它们的职责。

五、DTO Data Transfer Object数据传输对象

主要用于远程调用等需要大量传输对象的地方。比如我们一张表有100个字段,那么对应的PO就有100个属性。但是我们界面上只要显示10个字段,客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO

六、POJO :(Plain Old Java Objects),简单的Java对象

实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接.其中有一些属性及其getter、setter方法的类,有时可以作为value object或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
【便民】除了学生票,乘火车还可以购买这些优惠票,你知道吗?中国城市大角逐 : 我们到底应该去哪里安居?番茄酱到底应不应该放冰箱?Heinz给出标准答案,但 ChatGPT不同意终于找全了:蝴蝶效应、青蛙现象、鳄鱼法则、鲇鱼效应、羊群效应、刺猬法则、手表定律、破窗理论、二八定律、木桶理论,你知道吗?SpringBoot+Mybatis 如何实现流式查询,你知道吗?Java 近期新闻:字符串模板、Quarkus、Open Liberty、PrimeFaces、JobRunr、Devnexus含金量非常高,但很少有华裔孩子参加的比赛,你知道吗?质疑习总携普大帝共创“百年大变局”:海外华人看中国走向七律 春雨樱花高尔夫JOJO叠叠乐!呀呀可爱死啦一不小心就多交钱了?13%的"零食税"你知道吗?隔壁小黑兴高采烈地来找好狗友玩,主人却泪目了:它不在了,你知道吗?「婚前磨合」到底应该包含哪些方面?这5件事将决定你们的婚姻幸福度——往事并不如烟往事并不如烟《JOJO magazine 2022 WINTER》JOJO粉不可错过的一册!qiào chǔ ?qiáo chǔ ?渴望被爱有错吗?情感需求到底应不应该自给自足?|KY圆桌归来华为、小米、OPPO、vivo 联手,快充终于要统一了?!一场编制改革下的“新斗争”:退休医生空出来的编制名额到底应该给谁?LLC, Inc, Co, Corp, and Ltd分别是什么意思,你知道吗?你知道吗?不爱发朋友圈的女人往往都逃不过这三点原因!李玟去世:女人到底应该为谁活?【房产】距离巴黎两小时的绝佳宜居城市,房子便宜生活质量高,你知道吗?走的快不如走的稳:移动变现的合规之路到底应该怎么走?戴森官网V15、V8、Big Ball、Ball吸尘器立减150元!直播预告丨这些关于低血糖的真相,你知道吗?素元、BOWRON、VONDOM设计家具年中特促,限时底价!【保命指南】在异国他乡身体不适,留学生到底应该怎么办?塔夫茨公布2023-2024附加文书题目!Why School文书到底应该怎么写?今天到底应该追求什么?【健康】牙刷到底应该怎么放?刷牙前记得要做这个!番茄酱到底应不应该放冰箱?Heinz 给出标准答案,但 ChatGPT 不同意这些关于西瓜的冷知识,你知道吗?
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。