2024年10月07日
专注于Java领域优质技术,欢迎关注
来源:http://i7q.cn/55FFFq
本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。
由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念:
概念:
2024年10月07日
在现在微服务架构盛行的时期,很多业务存在model(vo/dao/po/dto…)的根据作用域不同而进行分类。
导致项目时常会有模型转换问题,需直接get/set或者for循环来处理,显的代码不美观,而且很麻烦,可使用一些工具类或自己实现。
单个类直接的copy,可使用BeanUtils.copyProperties工具类。
如有Collection类型的场景进行互转,则需要自行实现。写了一个工具类方便使用
2024年10月07日
点击上方"java全栈技术"关注,每天学习一个java知识点
开发中很多时候我们会根据类型的含义按照既定的规则进行命名,其中比较常见的有 PO、VO、DAO、BO等。这篇文章聊聊这些缩写的含义,希望对您有帮助。
缩写的含义
PO 是 Persistant Object 的缩写,用于表示数据库中的一条记录映射成的 java 对象。PO 仅仅用于表示数据,没有任何数据操作。通常遵守 Java Bean 的规范,拥有 getter/setter 方法。
2024年10月07日
世上本没有路,走的人多了就有了,走的人更多一点,路的就多了,连种类也多了。乡间小道、柏油马路、高速路、铁路……
JAVA是面向对象编程,原本一个对象就解决了所有问题,但是用的地方多了一个对象就不够用了,就有了衍生版本。PO、VO、DO……应运而生,但是没看到一个官方的权威性的定义,各个版本也有不同的说法,这里谈谈我的个人理解。我们先来看看他们的定义:
2024年10月07日
在Java开发的过程中,常常遇到这样的包名,如entity、bo、vo、po、dto、pojo等,许多初学者看到这样的词语都回感到迷惑,下面这一篇就把这些不同而又容易让人产生迷惑的实体类做一个很好的区分。
先来一张图:
代表数据访问对象的意思,是sun的一个标准j2ee设计模式的接口之一,负责持久层的操作 。这个基本都了解,Dao和上面几个O区别最大,基本没有互相转化的可能性和必要,主要用来封装对数据的访问,注意,是对数据的访问,不是对数据库的访问。
2024年10月07日
?
?
一种框架的出现都要解决个痛点,我想下面这这种不方便的操作经常有人写吧。
假如Car 类是数据库映射类
?
?
?
?
CarDTO是DTO 类
?
?
通常我们会这么写一个方法进行转换
?
?
甚至中间还牵涉了很多类型转换,嵌套之类的繁琐操作,而我们想要的只是建立它们之间的映射关系而已。有没有一种通用的映射工具来帮我们搞定这一切。当然有而且还不少。
2024年10月07日
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。
2024年10月07日
针对java工程里的各种带O的对象,进行分析,了解各自的作用。
PO:persistent object,持久对象。与数据库里表字段一一对应。PO是一些属性,以及set和get方法组成。一般情况下,一个表,对应一个PO。是直接与操作数据库的crud相关。
VO:vlue object,又名:表现层对象,即view object。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要。对于页面上要展示的对象,可以封装一个VO对象,将所需数据封装进去。