为什么要设计DTO类/什么时候设置DTO类?

embedded/2025/2/12 1:51:44/

为什么设计DTO类?

例如:根据新增员工接口设计对应的DTO

前端传递参数列表:

思考:是否可以使用对应的实体类来接收呢?

注意:前端提交的数据和实体类中对应的属性差别比较大,所以自定义DTO类。

java">package com.sky.dto;import lombok.Data;import java.io.Serializable;@Data
public class EmployeeDTO implements Serializable {private Long id;private String username;private String name;private String phone;private String sex;private String idNumber;}

 总结目的就是:减少多余的参数,出于安全性、节约流量的考虑。

这里顺带提一嘴为什么要设计VO类:

VO类可以用于将从数据库表查询到的到数据封装起来:

因为查询数据库时大多会用关联查询,而关联查询出来的结果集字段又会和实体类对象的属性不一致,所以用VO来封装查询结果集。
当查询到的数据太多,而前端又不需要全部数据,定义VO类用于只将前端需要的数据封装起来返回给前端,而其他不需要的就不用封装了。


http://www.ppmy.cn/embedded/161481.html

相关文章

Java虚拟机性能优化技术与实践

Java虚拟机性能优化技术与实践 Java虚拟机(JVM)是Java应用程序运行的核心,优化JVM性能对于提升应用稳定性和效率至关重要。本文将介绍JVM性能优化的核心技术,并结合代码实例进行实践。 1. JVM性能优化概述 JVM的性能优化主要涉…

C# OpenCV机器视觉:对位贴合

在热闹非凡的手机维修街上,阿强开了一家小小的手机贴膜店。每天看着顾客们自己贴膜贴得歪歪扭扭,不是膜的边缘贴不整齐,就是里面充满了气泡,阿强心里就想:“要是我能有个自动贴膜的神器,那该多好啊&#xf…

Ansible简单介绍及用法

一、简介 Ansible是一个简单的自动化运维管理工具,基于Python语言实现,由Paramiko和PyYAML两个关键模块构建,可用于自动化部署应用、配置、编排task(持续交付、无宕机更新等)。主版本大概每2个月发布一次。 Ansible与Saltstack最大的区别是…

F#语言的学习路线

F#语言学习路线 引言 在现代软件开发中,功能性编程语言逐渐得到了更多的关注与应用。F#作为一门强大且灵活的功能性编程语言,由微软开发并作为.NET平台的一部分提供支持,因其独特的特性和良好的表现,使其在数据处理、科学计算以…

AI算力的摆脱有点像发动机汽车变电动车

DS vs GPT意味着可以将AI算力的变化与汽车发动机到电动车的转变做一些对比。这两者在一定程度上都体现了技术从传统的、依赖于某些资源的方式转向更加高效、绿色的解决方案。1. 传统发动机与计算资源的变化 传统发动机:传统汽车的内燃机依赖燃油来产生动力&#xff…

【AIGC】在VSCode中集成 DeepSeek(OPEN AI同理)

在 Visual Studio Code (VSCode) 中集成 AI 编程能力,可以通过安装和配置特定插件来实现。以下是如何通过 Continue 和 Cline 插件集成 DeepSeek: 一、集成 DeepSeek 获取 DeepSeek API 密钥:访问 DeepSeek 官方网站,注册并获取 …

基于Spring Boot的图书个性化推荐系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

编程式路由

<script> export default {name: video-Info1,created () {setTimeout(() > {this.$router.push({ name: home })}, 3000)} } </script> 编程式路由&#xff1a;实现 不需要用户点击router-link&#xff0c;由代码实现路由跳转。 应用场景&#xff1a;用户登录…