对Java的常用对象(POJO、DTO、PO、BO、VO、DAO)详细解释及应用场景
首先这些对象都应用都是一些单词的简称,也是一种应用思想,故其他语言也可以使用,在Java里比较常见这些对象吧。下面来一一解释。
一、POJO(Plain Ordinary Java Object)。
简单而言,就是一个简单的对象,而且没有任何规则约束。有的时候拿POJO来泛指用来做传输对象 Java bean (包括今天要介绍的DTO、VO、BO、PO等)也是可以的。
二、DTO(Data Transfer Object)
数据传输对象,单纯用来数据传输的对象。我们有的项目又分InDto 和OutDto ,顾名思义就是输入和输出的Dto。
三、PO(Persistant Object)
持久对象,可以看成是与数据库中的表相映射的Java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO不包含业务逻辑和数据逻辑。就是一个Entity 或者说 ModelEntity 。
四、BO(Business Object)
业务对象,我经常使用的一个,它是和业务挂钩的,简单来说,我们每个业务可能需要很多PO(数据库表)来组成,而我们返回前端页面或者返回给调用方的时候,我们需要组合。而这个时候,BO就派上用场了,它就是一个对PO的组合,也可以就是PO,只是出发点是满足业务的传输对象。
五、VO(Value Object)
值对象,其实和BO、DTO、PO差不多,只是更形象化了,VO更简单,没有任何思想,就是一个传输对象。
六、DAO(Data Access Object)
数据访问对象,通常是和数据层打交道的最后一层,通过DAO对数据库做识别操作,最终返回我们想要的数据。通常和我们的PO、BO等基础类型,如List 、Map 等结合使用。
版权所属:SO JSON在线解析
原文地址:https://www.sojson.com/blog/114.html
转载时必须以链接形式注明原始出处及本声明。
对Java的常用对象(POJO、DTO、PO、BO、VO、DAO)详细解释及应用场景的更多相关文章
- PO BO VO DTO POJO DAO 概念及其作用
PO BO VO DTO POJO DAO 概念及其作用(附转换图) 博客分类: java javadaovopojobo J2EE开发中大量的专业缩略语很是让人迷惑, 特别是对于刚毕业 ...
- Java的常用对象①②
Java的常用对象① Java的常用对象有很多,这里只对lang包中常用的Object,Date(Calendar,DateFormat,Math),System,Runtime进行介绍.㈠Objec ...
- POJO与PO、VO的区别
http://www.cnblogs.com/wangjunwei/p/3859360.html POCO的概念是从java的POJO借用而来,而两者的含义是一致的,不同的仅仅是使用的语言不一样.所以 ...
- Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...
- Java中各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...
- 5.23Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
作者:https://www.cnblogs.com/lyjin/p/6389349.html PO:持久对象(persistent object):---po就是在Object/Relation M ...
- [转载]PO BO VO DTO POJO DAO概念及其作用
原文链接:http://jeoff.blog.51cto.com/186264/88517/ POJO = pure old java object or plain ordinary java ob ...
- 转:PO BO VO DTO POJO DAO概念及其作用
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...
- Java学习之Java中常用对象
java的几种对象(PO,VO,DAO,BO,POJO)解释 一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中 ...
随机推荐
- Visio中方向键不能移动物件而是滚动画布
不知怎么的, 我的Visio中按方向键不能移动目标对象, 效果却是移动整个画布. 上网查了一下, 找到了原因. 因为不知怎么的错按了键盘上的Scroll Lock键, 再按一下就好了. 参考资 ...
- CSS渐变字体、镂空字体、input框提示信息颜色、给图片加上内阴影、3/4圆
1.渐变字体 主要是看:-webkit-background-clip: text; 该属性 <style> .b1{ width: 500px; height: 200px; font- ...
- OpenFeign封装为springboot starter
OpenFeign是什么 随着业务的增多,我们的单体应用越来越复杂,单机已经难以满足性能的需求,这时候出现了分布式.分布式通讯除了RPC, REST HTTP请求是最简单的一种方式.OpenFeign ...
- SCIKIT-LEARN与GBDT使用案例
http://blog.csdn.net/superzrx/article/details/47073847 安装 SCIKIT-LEARN是一个基于Python/numpy/scipy的机器学习库 ...
- WebApi&MVC对比
使用上区分,mvc主要用于建站,web api主要用于构建http服务,当然你非要用mvc来构建Uri式的Api也行,不过显然是没有这个必要的,一个不恰当的比喻就像是你也可以玩破解版的单机游戏,也可以 ...
- Spring(十八):Spring AOP(二):通知(前置、后置、返回、异常、环绕)
AspectJ支持5种类型的通知注解: @Before:前置通知,在方法执行之前执行: @After:后置通知,在方法执行之后执行: @AfterRunning:返回通知,在方法返回结果之后执行(因此 ...
- RateLimiter 限流
@RestControllerpublic class RateLimiterController { private RateLimiter rateLimiter = RateLimiter.cr ...
- poj2689 Prime Distance 有难度 埃拉托斯尼斯筛法的运用
我承认这道很难(对我来说),搞脑子啊,搞了好久,数论刚开始没多久,还不是很强大,思路有点死,主要是我 天赋太差,太菜了,希望多做做有所改善 开始解析: 首先要将在 [ l,u]内的所有素数找出来,还好 ...
- vsphere HA内幕变化
see aslo:http://www.yellow-bricks.com/vmware-high-availability-deepdiv/ HA Deepdive My posts on VMwa ...
- Mina.Net实现的UDP多路广播
主要用于未确定主机地址的情况下,可以使用多路广播和服务端通信,下面是官方提供的DEMO. using System; using System.Net; using System.Net.Socket ...