位置: IT常识 - 正文

后端中dto、vo、entity的区别(后端中spef文件和spf文件)

编辑:rootadmin
后端中dto、vo、entity的区别

推荐整理分享后端中dto、vo、entity的区别(后端中spef文件和spf文件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:后端中lef文件是什么意思,后端中台是什么意思,后端中台,后端中间件技术有哪些,后端中lef文件是什么意思,后端中台,后端中间件有哪些,后端中间件有哪些,内容如对您有帮助,希望把文章链接给更多的朋友!

在后端的项目开发中,我们经常会碰到一些包,比如dto、vo、entity,其中都会有一些实体类,但是每个包到底表示什么含义呢?

首先entity表示对数据库中所有表的映射,是根据数据库表字段设计出来的实体(要求表名与类名相同,字段名与成员变量名相同)

后端中dto、vo、entity的区别(后端中spef文件和spf文件)

vo包表示前端页面传过来的如表单等数据的字段,比如当前端填写了一个表单,当前端传过来的数据较多时,我们可以创建一个vo实体类,将前端传来的数据字段名作为成员变量名,这样我们就可以使用@RequestBody注解快速获取参数内容,而不需要使用Request对象来一个个获取,方便开发。

而dto包表示的是 vo和entity的一个中间转换对象,是vo或entity对象中属性的一个子对象。当前端传来vo数据,我们提取vo中的数据到dto中,再将dto的数据处理后全部移动到entity中进行数据的保存。 反之亦然

举个栗子 假如前端表单有数据 如下(id其实指的是用户id):

id,username,age

而我们数据库中的数据有(没有age):

id,userId,username,createTime

这时我们controller层使用vo对象来接受前端传过来的数据。 这时,我们要创建一个dto类作为vo与entity的中间转换的对象(其实dto也可以看作在controller、service层的传输对象),这里创建的dto如下:

id、userId、username、createTime

我们要做的就是将vo对象做一定的处理后,然后创建出dto对象,在controller、service进行传输,最终再将service中的所有数据copy给entity,由dao层将entity数据存到数据库中。

一个用于dto到entity的快速复制工具:

package com.swpu.utils;import java.util.ArrayList;import java.util.List;public class BeanCopyUtil { /** * 根据现有对象的属性创建目标对象,并赋值 * * @param source * @param target * @param <T> * @return * @throws Exception */ public static <T> T copyObject(Object source, Class<T> target) { T temp = null; try { temp = target.newInstance(); if (null != source) { org.springframework.beans.BeanUtils.copyProperties(source, temp); } } catch (Exception e) { e.printStackTrace(); } return temp; } /** * 拷贝集合 * @param source * @param target * @param <T> * @param <S> * @return */ public static <T, S> List<T> copyList(List<S> source, Class<T> target) { List<T> list = new ArrayList<>(); if (null != source && source.size() > 0) { for (Object obj : source) { list.add(BeanCopyUtil.copyObject(obj, target)); } } return list; }}
本文链接地址:https://www.jiuchutong.com/zhishi/299675.html 转载请保留说明!

上一篇:uniapp详细介绍(uniapp简介)

下一篇:发现新大陆——原来软件开发根本不需要会编码(看我10分钟应用上线)(发现新大陆的是麦哲伦还是哥伦布)

  • 微信如何查询孩子的核酸检测结果(微信如何查询孩子的医保缴费情况明细)

    微信如何查询孩子的核酸检测结果(微信如何查询孩子的医保缴费情况明细)

  • ipad可以投屏到电脑上吗(iPad可以投屏到显示器吗)

    ipad可以投屏到电脑上吗(iPad可以投屏到显示器吗)

  • 如何去除手机qq 浏览器广告(如何去除手机壳上的胶)

    如何去除手机qq 浏览器广告(如何去除手机壳上的胶)

  • 爱奇艺怎么设置流量下载(爱奇艺怎么设置自动播放下一集)

    爱奇艺怎么设置流量下载(爱奇艺怎么设置自动播放下一集)

  • 苹果8plus没有led闪烁及提示(苹果8plus没有录音功能)

    苹果8plus没有led闪烁及提示(苹果8plus没有录音功能)

  • 手机号被冻结意味着什么(手机号被冻结意思是什么)

    手机号被冻结意味着什么(手机号被冻结意思是什么)

  • 电脑太卡换什么配件(电脑太卡换什么硬件)

    电脑太卡换什么配件(电脑太卡换什么硬件)

  • 手机rcs是什么意思(手机rc是什么意思)

    手机rcs是什么意思(手机rc是什么意思)

  • 红米note8pro电池耐用吗(红米note8Pro电池多少钱)

    红米note8pro电池耐用吗(红米note8Pro电池多少钱)

  • 华为mate30pro可以刷机吗(华为mate30pro可以用66w充电器吗)

    华为mate30pro可以刷机吗(华为mate30pro可以用66w充电器吗)

  • 电脑供电不足会出现什么情况(电脑供电不足会卡顿吗)

    电脑供电不足会出现什么情况(电脑供电不足会卡顿吗)

  • 安卓8.0开启降级保护有什么作用(安卓8怎么降级到安卓7)

    安卓8.0开启降级保护有什么作用(安卓8怎么降级到安卓7)

  • 为什么来信息没有显示(为什么来信息没有声音苹果)

    为什么来信息没有显示(为什么来信息没有声音苹果)

  • 天猫魔盒能用爱奇艺吗(天猫魔盒怎么安装爱奇艺播放器)

    天猫魔盒能用爱奇艺吗(天猫魔盒怎么安装爱奇艺播放器)

  • win10打印机扫描在哪(win10打印机扫描后找不到文件)

    win10打印机扫描在哪(win10打印机扫描后找不到文件)

  • 手机丢水里了怎么办(手机丢进水里了怎么办现在能做什么)

    手机丢水里了怎么办(手机丢进水里了怎么办现在能做什么)

  • 苹果手机小红书什么时候上架(苹果手机小红书字体怎么放大)

    苹果手机小红书什么时候上架(苹果手机小红书字体怎么放大)

  • 苹果x支持分屏功能吗(苹果x可不可以分屏)

    苹果x支持分屏功能吗(苹果x可不可以分屏)

  • 唯品会如何撤销退货(唯品会如何撤销订单)

    唯品会如何撤销退货(唯品会如何撤销订单)

  • 全网通和移动版啥区别(iphone全网通和移动版)

    全网通和移动版啥区别(iphone全网通和移动版)

  • 手机快手直播伴侣怎么用(手机快手直播伴侣怎么播放电视剧)

    手机快手直播伴侣怎么用(手机快手直播伴侣怎么播放电视剧)

  • 小米会员可以几台设备(小米会员可以几台电视连接)

    小米会员可以几台设备(小米会员可以几台电视连接)

  • vivoy93后台键在哪

    vivoy93后台键在哪

  • 增值税销项进项什么意思
  • 增值税一般纳税人证明文件
  • 零售和批发的界定
  • 服务费发票需要交印花税吗
  • 文化创意服务的税率
  • 银行期初数不对,怎么调整
  • 暂估入库冲回的会计分录
  • 企业所得税收入大于增值税收入的原因
  • 购进货物未取得增值税专用发票
  • 成立分公司总公司有什么影响
  • 车间改造用的材料有哪些
  • 支付销售产品的保险费计入什么科目
  • 公司内部领用库存商品
  • 融资租赁机器款分期开票怎么做账?
  • 直接人工成本的计算
  • 腾讯电脑管家的信任区在哪里
  • 哪里有办各种真实有效的证的
  • 天猫积分购物券怎么获得
  • macos big sur卡在
  • 超市收取进场费会计分录
  • macOS Big Sur 11.4 Beta 1(版本号20F5046g)正式发布
  • A meerkat in Namibia (© Danita Delimont/Offset by Shutterstock)
  • 四个常见html网页乱码问题及解决办法
  • 公司购置办公楼自用
  • 委托境外机构研发费加计扣除80%
  • ssms注释
  • phpcgi远程代码执行漏洞
  • 报销凭证写错了怎么办
  • thinkphp连接数据库优化
  • 租赁费用增值税率
  • pilot coat
  • 小规模升级一般纳税人后可以降为小规模吗
  • 股票收益缴纳个人所得税吗
  • CSS SandBox
  • c语言中数组的定义和使用
  • 进口设备增值税计算
  • 引导式申报带出来的开票额与金税盘显示的不一致
  • 民营医疗机构是指哪些
  • phpcms怎么用
  • 织梦如何使用
  • discuz管理中心进不去
  • 个税申报错了并撤销
  • 小规模不动产租赁要交哪些税
  • 通过SQL Server 2008数据库复制实现数据库同步备份
  • 社保费阶段性减免政策到什么时候
  • 附加税的印花税怎么计算
  • 应收款项计提坏损怎么算
  • 供应商折扣一次多少
  • 法院退诉讼费账务处理
  • 结转利润分配的二级明细账户
  • 成本费用会计分录
  • 支付宝已经支付快递费怎么还支付
  • 社保调低,上半年多缴的怎么办
  • 旅游业开具的是什么证明
  • 对公账户提取备用金怎么做账
  • 现金日记账是什么帐
  • mysql5.7安装教程详细
  • 如何解决女性漏尿问题
  • vsftpd.service disabled
  • vc运行程序exe停止工作
  • mac dock栏不见了
  • win1010586升级到最新
  • unity de
  • opengl learning
  • opengl获取鼠标位置
  • 批处理文件.bat
  • jquery左侧导航栏
  • python和java对接
  • node.js实战
  • python struct库
  • javascript基础书
  • 安卓抓包apk
  • 嵌入式安卓开发入门
  • 2021税收分类编码大全
  • 加强税务系统党委全面监督工作
  • 彩票中奖归出钱人还是中奖人
  • 现任新疆兵团政治部主任
  • 未到申报期可以提前抄税吗
  • 深圳沙井社保局在哪个位置
  • 遏制新增
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设