Java中BO、DAO、DO、DTO、PO、POJO、VO的概念
在程序开发中,经常会碰到各种专业术语,这里统一做一下解释,有遗漏或理解错误的恳请指正。
BO(Business Object)业务对象
主要作用是把业务逻辑封装为一个对象,这个对象可以包括一个或多个其他的对象。比如一份简历,有教育经历、工作经历、社会关系等。可以把教育经历对应一个 PO,工作经历对应一个 PO,社会关系对应一个 PO,然后建立一个对应建立的 BO来处理简历,每个 BO 包含这些 PO,这样就可以针对 BO 去处理业务逻辑。
DAO(Data Access Object)数据访问对象
此对象用于访问数据库,通常与 PO 结合使用,DAO 中包含了各种数据库的操作方法,结合 PO 对数据库进行相关操作,处于业务逻辑与数据库资源中间,通过它可以把 POJO 持久化为 PO,用 PO 组装 VO、DTO。
DO(Domain Object)领域对象
从现实世界中抽象的业务实体。
DTO(Data Transfer Object)数据传输对象
用于远程调用等需要大量传输对象的地方,也可以泛指用于展示层与服务层之间的数据传输对象。
PO(Persistent Object)持久对象
可以看成是与数据库中的表映射的 Java 对象,最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合,PO 中应该不包含任何对数据库的操作。
POJO(Plain Ordinary Java Object)简单无规则 Java 对象
纯的传统意义上的 Java 对象,就是说在一些表关系映射工具中,能够做到维护数据库表记录的持久化对象完全是一个符合 Java Bean 规范的纯 Java 对象,没有增加别的属性和方法。也可以理解成最基本的 Java Bean,只有属性字段及 setter 和 getter 方法。
VO(View Object)值对象
通常用于业务层之间的数据传递,和 PO 一样也是仅仅包含数据而已,是抽象出来的业务对象,PO 只能用在数据层,VO 用在表示层。
Java中BO、DAO、DO、DTO、PO、POJO、VO的概念的更多相关文章
- java术语(PO/POJO/VO/BO/QO/DAO/DTO)
一.概念理解 这些概念用于描述对象的类型:由于java是面向对象的语言:程序的世界就是各个对象之间的"交互":在交互的工程中会存在多个层次,每个层次中所拥有(关注)的内容都是不 ...
- Java中的各种bean对应的意义(VO,PO,BO,QO, DAO,POJO,DTO)
VO(value object) 值对象 通常用于业务层之间的数据传递,用 new 关键字创建,由 GC 回收的,和 PO 一样也是仅仅包含数据而已.但应是抽象出的业务对象 , 可以和表对应 , 也可 ...
- (转)java术语(PO/POJO/VO/BO/DAO/DTO)
转自:http://blog.csdn.net/gaoyunpeng/article/details/2093211 PO(persistant object) 持久对象在o/r 映射的时候出现的概念 ...
- java术语(PO/POJO/VO/BO/DAO/DTO)
PO(persistant object) 持久对象在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库 ...
- java中的几种对象(PO,VO,DAO,BO,POJO)
一.PO :(persistant object ),持久对象 可以看成是与数据库中的表相映射的java对象.使用Hibernate来生成PO是不错的选择. 二.VO :(value object) ...
- Java的常见术语(PO/POJO/VO/BO/DAO/DTO)
PO(persistant object) 持久对象在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库 ...
- PO/POJO/VO/BO/DAO/DTO
PO(persistant object) 持久对象在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库 ...
- java中的dao模式
java中Dao模式 什么是DAO 1.Data Access Object(数据存取对象) 2.位于业务逻辑和持久化数据之间 3.实现对持久化数据的访问 DAO模式的作用 1隔离业务逻辑代码 ...
- java中的对象 方法 引用 等一些抽象的概念是什么意思呢?
2020-03-14 最近这一段时间有点忙,好久都没有更新博客了,之后我会一直坚持下去的,和大家一同进步的. 这段时间一直在学java,相信刚开始学习java的小白,刚开始接触那么些抽象的概念一定和我 ...
随机推荐
- 使用 js 实现十大排序算法: 插入排序
使用 js 实现十大排序算法: 插入排序 插入排序 // 双重循环 refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
- iOS WebView All In One
iOS WebView All In One WKWebView / UIWebView Swift Playground //: A UIKit based Playground for prese ...
- React 权限管理
React 权限管理 react in depth JWT token access_token & refresh_token access token & refresh toke ...
- Dart & data type(static / dynamic)
Dart & data type(static / dynamic) Darts 飞镖 标枪 javelin/darts type https://dartpad.dartlang.org/ ...
- IoT & Raspberry Pi
IoT & Raspberry Pi https://www.raspberrypi.org/ https://www.raspberrypi.org/training https://pro ...
- 心之所向·智慧绽放丨NGK区块链赋能实体经济论坛圆满落幕
据外媒报导,近日,由NGK主办的"NGK区块链赋能实体经济论坛"于英国伦敦的威斯敏斯特中央大厅圆满落幕.大会现场到来了NGK北美市场领导人.区块链行业的专业人士.NGK英国社区代表 ...
- Mosquitto
mosquitto可连接远程服务器及本地服务器. mosquitto可在一个节点内建立一个连接用于收发,也可在一个节点内建立多个连接用于收发.建立一个连接用于收发时,会有初始部分帧的延迟.(可能由于内 ...
- Python 爬虫使用动态切换ip防止封杀
对于爬虫被封禁 ! 爬虫一般来说只要你的ip够多,是不容易被封的. 一些中小网站要封杀你,他的技术成本也是很高的,因为大多数网站没有vps,他们用的是虚拟空间或者是sae,bae这样的paas云. 其 ...
- SSL (Secure Sockets Layer)
本文转载自SSL (Secure Sockets Layer) TLS简介 The Transport Layer Security (TLS) protocol aims primarily to ...
- ElasticSearch 中的 Mapping
公号:码农充电站pro 主页:https://codeshellme.github.io 1,ES 中的 Mapping ES 中的 Mapping 相当于传统数据库中的表定义,它有以下作用: 定义索 ...