SpringBoot中的DAO以及DTO、VO和Converter的介绍

DAO(Data Access Object):数据访问对象

📁 在 Spring Boot 中的现状:
  • MyBatis体系中,通常用Mapper替代 DAO 的概念。
  • JPA(Spring Data JPA)中,Repository接口承担 DAO 职责。

所以在现代 Spring Boot 项目中,“dao” 文件夹可能不存在,而被mapper(MyBatis专用)或repository(JPA)替代。

DTO(Data Transfer Object):数据传输对象

  • 用于在不同层之间(如 Controller ↔ Service)或不同系统之间(如微服务间)传输数据
  • 避免直接暴露数据库实体(Entity)给前端,防止敏感字段泄露(如密码、内部状态)。

VO(View Object):视图对象

  • 专用于返回给前端展示的数据结构

📌 注意:有些团队将 DTO 和 VO 合并使用;但在严格分层中,DTO 用于传入,VO 用于传出

Converter(转换器)

  • 负责在Entity ↔ DTO/VO之间进行对象转换
  • 避免在 Service 或 Controller 中写大量手动赋值代码(如userDTO.setUsername(user.getUsername()))。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1125965.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot+Vue 网上购物商城系统管理平台源码【适合毕设/课设/学习】Java+MySQL

💡实话实说:CSDN上做毕设辅导的都是专业技术服务,大家都要生活,这个很正常。我和其他人不同的是,我有自己的项目库存,不需要找别人拿货再加价。我就是个在校研究生,兼职赚点饭钱贴补生活费&…

前后端分离甘肃非物质文化网站系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程

💡实话实说:CSDN上做毕设辅导的都是专业技术服务,大家都要生活,这个很正常。我和其他人不同的是,我有自己的项目库存,不需要找别人拿货再加价。我就是个在校研究生,兼职赚点饭钱贴补生活费&…

教师工作量管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

💡实话实说:CSDN上做毕设辅导的都是专业技术服务,大家都要生活,这个很正常。我和其他人不同的是,我有自己的项目库存,不需要找别人拿货再加价。我就是个在校研究生,兼职赚点饭钱贴补生活费&…

开源问卷平台DWSurvey开发配置记录

后端目录及配置​ 后端目录​ 后端目录 . ├─ src # 工作目录 │ ├─ main │ ├─ ├─ java │ ├─ ├─ ├─ net │ ├─ ├─ ├─ ├─ diaowen │ ├─ ├─ ├─ ├─ ├─ common # 公共类目录,如LOGIN、SMS、Storage... │ ├─ ├─ ├─ ├…

通用语——基于实体感知的机器翻译方法,用于知识图谱上的问答

原文:towardsdatascience.com/lingua-franca-entity-aware-machine-translation-approach-for-question-answering-over-knowledge-e2c7e481c870?sourcecollection_archive---------12-----------------------#2024-01-29 朝着知识图谱问答系统的通用语发展 https…

【Java 开发日记】我们来说一下 synchronized 与 ReentrantLock 的

【Java 开发日记】我们来说一下 synchronized 与 ReentrantLock 的二、详细区别分析 1. 实现层面 synchronized: Java 关键字,由 JVM 底层实现(通过 monitorenter/monitorexit 字节码指令)。 锁信息记录在对象头的 Mark Word 中。…

引导内存分配器 Buddy 分配器的关系

引导内存分配器 Buddy 分配器的关系 在 Linux 内核启动的早期阶段,物理内存管理面临着一个“鸡生蛋,蛋生鸡”的问题:内核需要分配内存来初始化用于内存管理的数据结构(如 struct page 数组),但此时完善的 B…

Buddy分配器

Buddy分配器 1. 内核在基本的伙伴分配器基础改进扩展 支持内存节点和区域,称为分区的伙伴分配器(zoned buddy allocator)。 为了预防内存碎片,把物理页框通过移动性分组。 针对分配单页做了性能优化,为了减少处理器锁的…

AI模型容器化部署实战

💓 博客主页:借口的CSDN主页 ⏩ 文章专栏:《热点资讯》 AI模型容器化部署:实战指南与未来展望目录AI模型容器化部署:实战指南与未来展望 引言 一、容器化部署的必要性与当前挑战 为什么需要容器化? 现存挑战…

Slab,不连续页,buddy分配器与内存映射

Slab分配器分析 一、Slab分配器概述 1.1 Slab分配器的作用 Slab分配器是Linux内核中用于管理小对象内存分配的高效机制。它主要解决以下问题: 频繁分配/释放小对象的性能问题:内核中大量使用固定大小的对象(如task_struct、inode、dentry等&a…

物理内存组织架构与Buddy分配器关系分析

物理内存组织架构与Buddy分配器关系分析 在Linux内核中,物理内存的管理是一个分层级的复杂系统。为了高效地应对不同硬件架构(如NUMA)和不同的内存需求(如DMA访问限制),Linux建立了严密的物理内存组织架构…

【数据分享】2025年全国范围各城市的公交路线及站点数据(分省/分城市)

本文分享一份2025年全国范围各城市的路线及站点数据。包含:安徽省、澳门、北京市、重庆市、福建省、甘肃省、广东省、广西省、贵州省、海南省、河北省、河南省、黑龙江、湖北省、湖南省、吉林省、江苏省、江西省、辽宁省、内蒙古、宁夏省、青海省、山东省、山西省、…

Agent2Agent (A2A) Protocol( A2A 协议)简介、组件

Agent2Agent (A2A) Protocol(简称 A2A 协议)是旨在让不同 AI 代理(agents)之间互联互通、协作的开放标准。内容包括协议的主要组件(building blocks)、各组件作用,以及这些组件在一个典型流程中…

期货反向跟单—从小白到高手进阶历程 六十三(研究人性不是重点)

在期货反向跟单领域,“研究人性” 似乎成了多数团队的共识性动作。不少团队投入大量人力、物力搭建心理干预体系,从资金奖惩机制到每日口头引导,试图通过干预盘手的心理状态来优化跟单效果。然而现实往往事与愿违,多数团队耗费数月…

系列教程十三 | 探索阿里云 Wan 2.1:零基础入门文本生成视频教程

一.背景介绍近年来,人工智能内容生成(AIGC)在视频创作领域取得了突破性进展,其中文本到视频(Text-to-Video)生成技术因其在内容创作、广告营销和教育可视化等方面的巨大潜力而备受关注。Wan 2.1作为阿里云推…

系列教程十四 | 基于CosyVoice 2.0实现语音风格迁移

一.背景介绍 随着生成式人工智能的快速发展,语音合成(Text-to-Speech, TTS)技术正在迈向更自然、更智能、更具情感表达的新时代。过去的 TTS 模型虽然已在音质和语义准确度方面取得显著进步,但在跨语言、情感表达、个性化模拟等方…

外包开发三年

外包开发的三年:困在代码牢笼里的日子这三年就像被困在一座没有出口的迷宫,每天重复着同样的路线,却永远走不到尽头。刚入行时还带着点期待,想着好歹能攒点经验,可现实像一盆冷水,从头顶浇到脚底。外包公司…

解析ASTM D4169:运输包装性能测试的核心标准有哪些

ASTM D4169 是国际公认的运输集装箱和系统性能测试标准,通过模拟真实分销环境中的各类危险元素,为包装运输性提供统一评估依据。该标准包含多个分配周期(DC),其中 DC4、DC6、DC12、DC13 是医疗行业界最常选用的周期&am…

提示工程的认知架构设计:架构师的深度思考

提示工程的认知架构设计:架构师的深度思考 引言:AI时代的认知革命 在人工智能技术迅猛发展的今天,提示工程(Prompt Engineering)已经从一项简单的交互技巧演变为一门系统的工程学科。作为架构师,我们需要超越表面的指令编写,深入思考提示工程背后的认知架构设计。这不仅…