java 项目中 VO 、DTO、Entity,各自是在什么情况下应用的

DTO(Data Transfer Object)、Entity和VO(View Object)是软件开发中用于数据传输和模型隔离的概念。DTO用于在不同层之间传递数据,例如在业务逻辑和视图之间。Entity通常对应数据库表结构,而VO则与前端UI直接对应。当业务规则要求额外处理(如年龄验证),DTO在Entity和VO间起转换作用。在示例中,VO包含所有前端字段,而Entity仅包含数据库字段,DTO用于处理年龄验证后的数据转移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

举个例子:

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

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

而你的 vo 里,就应该有下面三个成员变量 ,因为对应 html 页面上三个字段 。

private string name;

private string pass; 

private string age;

这个时候,你的 entity 里,就应该有两个成员变量 ,因为对应数据库表中的 2 个字段 。

private string name;

private string pass;

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

1)你要先从页面上拿到 vo,然后判断 vo 中的 age 是不是大于 20。

2)如果大于 20,就把 vo 中的 name 和 pass 拿出来,放到 dto 中。

3)然后在把 dto 中的 name 和 pass 原封不动的给 entity,然后根据 entity 的值,在传入数据库。

这就是他们三个的区别。

PS: dto 和 entity 里面的字段应该是一样的,dto 只是 entity 到 vo,或者 vo 到 entity 的中间过程,如果没有这个过程,你仍然可以做到增删改查,这是根据具体公司规范来的 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值