Java 的DTO的作用到底是干什么的?

Java 的DTO的作用到底是干什么的?,第1张

首先dto和实体变量的名字和个数应该是一模一样的(Dto可以都是String类型或类型也和实体一样),dto只在数据存储时有用,开发的规范是将要存储的数据以dto存到数据库。

如:前台页面提交的form表单,后台接收到,转换成dto,存入数据库。

你说的:‘’只是为了把查询出实体的值在通过get set转到DTO“ 这是不对的,这是没意义的。特殊情况下如:前台页面提交的form表单的值不够,还需要再查询别的表,然后转成dto,才可能需要你说的get set几个值。

数据传输对象(DTO)(Data Transfer Object),是一种设计模式之间传输数据的软件应用系统。数据传输目标往往是数据访问对象从数据库中检索数据。数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具有任何行为除了存储和检索的数据(访问和存取器)。

数据:

数据就是数值,也就是我们通过观察、实验或计算得出的结果。数据有很多种,最简单的就是数字。数据也可以是文字、图像、声音等。数据可以用于科学研究、设计、查证、数学等。指进行各种统计、计算、科学研究或技术设计等所依托的数值。柯岩 《奇异的书简·船长》:“ 贝汉廷分析着各个不同的数据,寻找着规律,终于抓住了矛盾的牛鼻子。

你好,按照标准来说:

1、entity里的每一个字段,与数据库相对应,

2、dto里的每一个字段,是和你前台页面相对应,

3、VO,这是用来转换从entity到dto,或者从dto到entity的中间的东西。

举个例子:

你的html页面上有三个字段,name,pass,age

你的数据库表里,有两个字段,name,pass(注意没有age哦)

你的dto里,就应该有下面三个(因为对应html页面上三个字段嘛)

private string name;

private string pass 

private string age

这个时候,你的entity里,就应该有两个(因为对应数据库表中的2个字段嘛)

private string name;

private string pass

到了这里,好了,业务经理让你做这样一个业务“年龄大于20的才能存入数据库”

这个时候,你就要用到vo了

你要先从页面上拿到dto,然后判断dto中的age是不是大于20,如果大于20,就把dto中的

name和pass拿出来,放到vo中,然后在把vo中的name和pass原封不懂的给entity,然后根据

entity的值,在传入数据库,这就是他们三个的区别

PS,VO和entity里面的字段应该是一样的,vo只是entity到dto,或者dto到entity的中间过程,如果没有这个过程,你仍然可以做到增删改查,这个就根据具体公司来的,纯手打,望采纳


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10085691.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存