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

为什么设计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类用于只将前端需要的数据封装起来返回给前端,而其他不需要的就不用封装了。

相关推荐
小袁拒绝摆烂7 分钟前
多表关联大平层转JSON树形结构
java·json
ja哇1 小时前
大厂面试高频八股
java·面试·职场和发展
yoyo_zzm1 小时前
Laravel6.x新特性全解析
java·spring boot·后端
Nick_zcy1 小时前
小说在线阅读网站和小说管理系统 · 功能全解析
java·后端·python·springboot·ruoyi
源码宝2 小时前
基于 SpringBoot + Vue 的医院随访系统:技术架构与功能实现
java·vue.js·spring boot·架构·源码·随访系统·随访管理
qinqinzhang2 小时前
Java 中的 IoC、AOP、MVC
java
禾叙_2 小时前
【langchain4j】结构化输出(六)
java·开发语言
饭小猿人2 小时前
Android 腾讯X5WebView如何禁止系统自带剪切板和自定义剪切板视图
android·java
Advancer-3 小时前
第二次蓝桥杯总结(上)
java·算法·职场和发展·蓝桥杯
\xin3 小时前
pikachu自编SQL(POST)
java·数据库·sql