(转)vo、po、dto、bo、pojo、entity、mode如何区分

2024-05-24 10:48
文章标签 po mode 区分 entity pojo vo bo dto

本文主要是介绍(转)vo、po、dto、bo、pojo、entity、mode如何区分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【原文连接:https://www.wukong.com/answer/6535030067171442948/?iid=28069560333&app=news_article&share_ansid=6535030067171442948&wxshare_count=1&tt_from=weixin&utm_source=weixin&utm_medium=toutiao_android&utm_campaign=client_share】

Java Bean:一种可重用组件,即“一次编写,任何地方执行,任何地方重用”。满足三个条件

  • 类必须是具体的和公共的
  • 具有无参构造器
  • 提供一致性设计模式的公共方法将内部域或暴露成员属性

VO

value object:值对象 
通常用于业务层之间的数据传递,由new创建,由GC回收 
和PO一样也是仅仅包含数据而已,但应是抽象出的业务对象,可以和表对应,也可以不是

PO

persistant object:持久层对象 
是ORM(Objevt Relational Mapping)框架中Entity,PO属性和数据库中表的字段形成一一对应关系 
VO和PO,都是属性加上属性的get和set方法;表面看没什么不同,但代表的含义是完全不同的

DTO

data transfer object:数据传输对象 
是一种设计模式之间传输数据的软件应用系统,数据传输目标往往是数据访问对象从数据库中检索数据 
数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具任何行为除了存储和检索的数据(访问和存取器) 
简而言之,就是接口之间传递的数据封装 
表里面有十几个字段:id,name,gender(M/F),age…… 
页面需要展示三个字段:name,gender(男/女),age 
DTO由此产生,一是能提高数据传输的速度(减少了传输字段),二能隐藏后端表结构 
DTO

BO

business object:业务对象 
BO把业务逻辑封转为一个对象,通过调用DAO方法,结合PO或VO进行业务操作 
PO组合,如投保人是一个PO,被保险人是一个PO,险种信息是一个PO等等,他们组合气来是第一张保单的BO

POJO

plian ordinary java object:简单无规则java对象 
纯的传统意义的java对象,最基本的Java Bean只有属性加上属性的get和set方法

可以额转化为PO、DTO、VO;比如POJO在传输过程中就是DTO

DAO

data access object:数据访问对象 
是sun的一个标准j2ee设计模式,这个模式中有个接口就是DAO,负责持久层的操作 
主要用来封装对数据的访问,注意,是对数据的访问,不是对数据库的访问 
DAO对数据的访问

其他的还有model/module/domain/entity

Entity

实体,和PO的功能类似,和数据表一一对应,一个实体一张表

 

这篇关于(转)vo、po、dto、bo、pojo、entity、mode如何区分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/998189

相关文章

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

MySQL报错sql_mode=only_full_group_by的问题解决

《MySQL报错sql_mode=only_full_group_by的问题解决》本文主要介绍了MySQL报错sql_mode=only_full_group_by的问题解决,文中通过示例代码介绍的非... 目录报错信息DataGrip 报错还原Navicat 报错还原报错原因解决方案查看当前 sql mo

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

Caused by: org.hibernate.MappingException: Could not determine type for: org.cgh.ssh.pojo.GoodsType,

MappingException:这个主要是类映射上的异常,Could not determine type for: org.cgh.ssh.pojo.GoodsType,这句话表示GoodsType这个类没有被映射到

Unstructured cannot write mode RGBA as JPEG 错误解决

Unstructured cannot write mode RGBA as JPEG 错误解决 0. 错误详细1. 解决方法 0. 错误详细 Image Extraction Error: Skipping the failed imageTraceback (most recent call last):File "/root/miniconda3/envs/learn-y

DTO类实现Serializable接口的重要性

所谓序列化,简单一点理解,就是将对象转换成字节数组,反序列化是将字节数组恢复为对象。凡是要在网络上传输的对象、要写入文件的对象、要保存到数据库中的对象都要进行序列化。Java对象是无法直接保存到文件中,或是存入数据库中的。如果要保存到文件中,或是存入数据库中,就要将对象序列化,即转换为字节数组才能保存到文件中或是数据库中。文件或者数据库中的字节数组拿出来之后要转换为对象才能被我们识别,即反序列化。

MySQL表名区分大小写设置

打开 mysql配置文件mysqld.cnf 打开文件,找到[mysqld]在下面增加一行 lower_case_table_names=0 (0:大小写敏感;1:大小写不敏感) 重启mysql服务 docker restart mysqlserver

Circuit Design 贴片晶振的区分

贴片晶振脚位的区分(非常详细,尤其是如何区分四脚的有源无源晶振): http://ruitairt.com/Article/tiepian_1.html 如何区分有源和无源晶振: http://ruitairt.com/Article/yzjddbfqsq_1.html

回归预测 | Matlab基于贝叶斯算法优化XGBoost(BO-XGBoost/Bayes-XGBoost)的数据回归预测+交叉验证

回归预测 | Matlab基于贝叶斯算法优化XGBoost(BO-XGBoost/Bayes-XGBoost)的数据回归预测+交叉验证 目录 回归预测 | Matlab基于贝叶斯算法优化XGBoost(BO-XGBoost/Bayes-XGBoost)的数据回归预测+交叉验证效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现基于贝叶斯算法优化X