首页 > 其他分享 >VO、DTO、Entity的区别

VO、DTO、Entity的区别

时间:2023-04-19 09:59:13浏览次数:45  
标签:20 dto 数据库 Entity entity vo DTO VO

只能说从实际用法的一般习惯上进行区分:

1、entity 里的每一个字段,与数据库相对应,注意:entity与对应的实际数据库表的字段 没有强制要求但是一般建议保持一致(包括字段数据类型),当然,从实际使用中,entity也可以比对应的实际数据库表的字段少但是一定不能多
2、vo 里的每一个字段,是和你前台 html 页面显示 /或者导出给用户看的相关文件(比如EXCEL、word文件等)的  字段相对应;
3、dto 这是用来转换从 entity 到 vo,或者从 vo 到 entity 的中间的东西 。(DTO中拥有的字段应该是entity中或者是vo中的一个子集)
比如:业务/产品提需求 让你实现 “金额大于 20“ 的才能存入数据库,这个时候,你就要用到 dto 了,
  1)你要先从页面上拿到 vo,然后判断 vo 中的 金额 是不是大于 20。
  2)如果大于 20,就把 vo 中的 ID /name/type 等相关需要用上的属性字段 拿出来,放到 dto 中。
  3)然后在把 dto 中的 ID /name/type  原封不动的给 entity,然后根据 entity 的值,在传入数据库。

标签:20,dto,数据库,Entity,entity,vo,DTO,VO
From: https://www.cnblogs.com/xiaoniandexigua/p/17332185.html

相关文章

  • 内存屏障--- asm volatile("" ::: "memory")
    转载:(14条消息)内存屏障---asmvolatile("":::"memory")_"asm(:::\"memory\")"_咕噜咕噜斯基的博客-CSDN博客CompilermemorybarrierThesebarrierspreventacompilerfromreorderinginstructions,theydonotpreventreorderingbyCPU.T......
  • Label 显示Gif动画,窗口关闭偶发性抛出 在创建窗口句柄之前,不能在控件上调用 Invoke
    2个问题如下,解决方案都一样 问题1UnhandledException:System.InvalidOperationException:在创建窗口句柄之前,不能在控件上调用Invoke或BeginInvoke。在System.Windows.Forms.Control.MarshaledInvoke(Controlcaller,Delegatemethod,Object[]args,Booleansynchro......
  • 论 java.net.SocketException: sendto failed: EPIPE (Broken pipe) 的解决办法
    这里只是针对我昨天遇到的问题(上传文件过大,导致出现Socket异常)的解决办法。众所周知,tomcat是有默认的文件传输大小限制的(跟android前端),后来跟服务器的哥们协调了一下,他那边改成多少都不管用,这是其一。其二是后来查google得知,tomcat设置服务器的超时时间,后来还是一样,设置成多少都不......
  • PayloadTooLargeError: request entity too large错误解决
    这个错误通常是由于你正在尝试上传大于服务器最大允许大小的文件或数据导致的。这通常可以通过在服务器端进行一些配置更改来解决。如果您使用的是Node.js,您可以使用body-parser中间件来增加请求体的限制。例如,以下代码将允许请求体的最大大小为10MB:varbodyParser=require('body......
  • 如何在 DevOps 中进行 API 全生命周期管理?
    随着DevOps理念在中国企业当中的普及和发展,中国企业DevOps落地成熟度不断提升,根据中国信通院的数据已有近6成企业向全生命周期管理迈进。而在研发全生命周期管理之中,API管理的地位愈发显得重要。随着API数量的大幅增长,也带来了新的API管理需求。如何在DevOps工作流中......
  • Springboot使用RestTemplate发送Post请求postForEntity (application/json)的坑
    当使用RestTemplate进行http请求时,的确很方便,但是当需要进行post请求时遇到了坑1POST传递参数:采用LinkedMultiValueMap,不能使用HashMapStringurl='http://posturl';MultiValueMap<String,String>map=newLinkedMultiValueMap<String,String>();map.add(......
  • DevOps一站式平台:众安DevCube又出新亮点啦
    众安DevCube研发运维一体化平台,经过几个月的不懈努力,又有新的功能和亮点和大家见面啦,项目管理、发布上线、质量测试、运维监控等模块的迭代,实现更快速、更高效、更高质量的交付。项目管理:需求流和发布流的双流联动解决需求流转的时效问题是保证整个协作流程高效流转的关键。需求流......
  • Envoy与Nginx的八大对比
    Envoy与Nginx架构层面的对比Nginx是Envoy出现之前网络通信中间件领域非常有代表性的开源系统,功能强大,性能出色,扩展性很强,已经形成了强大的生态,成为HTTP流量管理领域事实上的标杆。Envoy作为后起之秀,虽然定位和目标上与Nginx有不少差异,但架构设计层面,Envoy和Nginx都有很多的可取之处......
  • vivo全球商城:电商交易平台设计
    vivo全球商城:电商交易平台设计 作者:vivo官网商城开发团队-ChengKun、LiuWei本文介绍了交易平台的设计理念和关键技术方案,以及实践过程中的思考与挑战。点击查阅:《vivo全球商城》系列文章一、背景vivo官方商城经过了七年的迭代,从单体架构逐步演进到微服务架构,我们......
  • Multi-View Attribute Graph Convolution Networks for Clustering
    论文阅读04-Multi-ViewAttributeGraphConvolutionNetworksforClustering:MAGCN论文信息论文地址:Multi-ViewAttributeGraphConvolutionNetworksforClustering|IJCAI论文代码:MAGCN1.多视图属性聚类:MAGCN1.存在问题:GNN融入Multi-ViewGraph1)他们不能将指定学习......