java架构之项目结构(entity / DTO / VO)

POJO、VO、DTO、Entity、Domain的区别 POJO、VO、DTO、Entity、Domain的区别 POJO 简单的Java对象,原生对象 VO 视图对象,HTML JSP DTO DTO Data Transfer Object 数据传输对象(为了简化对象) Entity Entity 实体类 数据库 ORM(为了和数据库的映射关系) Domain domain 领域模型 (银行、保险、电商、物流、医疗等领域,每个领域对对象的看法不一样,领域专家需要设计领域模型,开发以领域模型为基准。DDD(领域驱动设计)) ... 阅读详情

定义类的讲究

  • ejb

Enterprise JavaBean(EJB),企业javaBean。是java的核心代码,分别是会话Bean(Session Bean)、实体Bean(Entity Bean)、和消息驱动Bean(MessageDriven Bean)。

  • javaBean

可重用组件,类必须是具体的公开的,具有无参构造器。

  • pojo

Plain Ordinary Java Object,简单的Java对象,普通的javaBean。除了getter、setter,不能有其他业务方法。有时可以作为VO(value-object)或DTO(Data Transfer Object)来使用。


  • entity

持久化,与数据库对应;

实体bean,一般是用于ORM对象关系映射,一个实体映射成一张表,一般无业务逻辑代码。

负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个EntityBean对象相当于创建一条记录,删除一个EntityBean对象会同时从数据库中删除对应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步。

  • DTO

系统、服务之间交互传输用;

数据传输对象(Data Transfer Object)

dto是做表示层(展示给用户)的,而实体是数据对象(表)。表示层dto的是由多个实体构成,或一个实体的一个部分,或多个实体的各个部分的结合体?如果你认为dto没有必要,难道你做数据库的时候,表与页面的展示是一摸一样的吗?不太现实吧。

dto是面向对象的,实体是面向关系数据库。

  • VO(和DTO类似)

前台(APP\WAP\PC)展示用;

作用说明:
1、DTO可以增加或者减少entity的字段,来灵活实现信息传递;
2、VO可以仅向前端传输,页面需展示字段,如pageList等。


关系示例

多模块或单模块的项目而言,清晰的项目结构很重要。

如下,一个项目可以分为许多模块,如common模块和其他模块。

project
  |-- common
  |-- module1
  |-- ...

其中
|-- common
           |--dao
                 |--impl
                 |--*DAO.java
           |--dto
                 |--*DTO.java
           |--domain
                 |--entity
                 |--*Entity.java

可以在resources中单独写mapper.xml


|-- module1
           |--model
                 |--*VO.java
           |--controller
           |--service
           |--interceptor
           |--...

说明:

  1. [controller] controller是从用户接受和发送数据的地方。因此controller中返回结果中的数据类型为*VO类型。
  2. [dao] 那么,mybatis中mapper中写的sql语句,如select等的返回结果是什么呢?
    可以是entity,可以是DTO。从一张表中查询部分或多表联合查询,就可以返回DTO。

整个*mapper.xml是*DAO对应,其中每个sql语句的返回类型可以是int,List,entity,DTO等。

@RequestMapping(path = "/list", method = RequestMethod.POST)
public Res<**VO> yourmethoed(){
    //<*DTO> = service()...
    //DTO转VO,return VO
}
Java实体类(entity)作用说明 主要介绍了Java实体类(entity)作用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 立即下载

相关推荐

脑机接口(BCI)从原理到开发实战 10|脑控外设:用脑电波控制机械臂/游戏

摘要: 脑机接口(BCI)的“最后一公里”是将分类结果转化为实际动作的关键环节。本文介绍如何通过指令映射、硬件通信和执行反馈实现脑控外设,包括离散/连续控制策略、防抖处理及串口/蓝牙通信方法。通过两个实战案例(运动想象控制机械臂抓取、P300/SSVEP控制游戏)和完整项目(OpenBCI控制小车),演示了从分类标签到设备动作的完整流程,重点涵盖指令生成算法(多数投票)、Python与Arduino的串口通信集成,为BCI系统落地提供实用解决方案。(149字)

小明的博客 763

Java相关的项目结构(持续更新中)

Java相关的项目结构

Shipley_Leo的博客 5481

游程理论提取灾害事件特征V2---基于MATLAB语言的编程实现

游程理论,灾害事件,MATLAB

EWBA_GIS_RS_ER的博客 3792

Java项目结构概述

构建一个良好的Java项目结构是开发高质量、可扩展和易维护应用程序的重要基础。在本文中,我们将探讨几种常见的Java项目结构,并介绍它们的特点和适用场景,帮助大家在实际项目中作出正确的选择。在Java中,单模块项目结构是指整个项目包含一个主要的模块,所有代码和资源文件都位于该模块中。

Dreamgeek的博客 6105

Python介绍与安装

Python介绍与安装

acegi13579的专栏 3218

GNSS接收机性能测试指标详解:TTFF、位置精度、灵敏度等关键参数如何评估

本文详细解析了GNSS接收机性能测试的关键指标,包括首次定位时间(TTFF)、位置精度、灵敏度等,帮助工程师系统评估接收机性能。通过多频段协同定位和载波相位测试等技术,提升定位精度至亚米级。同时,介绍了灵敏度测试的极限挑战和授时精度的专业测试方案,为GNSS接收机的性能优化提供实用指导。

cuda7parallel的博客 961

Java实体类——entity类的使用与学习

Java实体类(entity)一、前言(项目代码引申)二、实体类的众多理解三、实体类的作用四、实体类的书写规范五、序列化的必要性 一、前言(项目代码引申) 在一个开发的android项目中,使用到了Entity类 其中SecurityDomain是一个架构模板可忽略,其余四个Entity类是根据实际功能需求扩写的,项目中这四个实体类在(1)对应的Fragment类(2)Repository(3)VehicleViewModel中使用。 这四个Entity类中包含构造方法,对应开关(Switch)的功能写了

ambitionLlll的博客 2万+

Claude Code + 自定义模型体验

AI 编程工具的发展突飞猛进:Cursor 横空出世,推出了“Agent 模式”;新竞争者如 Windsurf 也纷纷加入战局。几乎所有产品都开始转向“代理式(agentic)”开发模式——不再依赖单次 LLM 响应进行补全,而是让大模型在一个循环中调用各种工具,来完成更复杂的任务:分析代码库上下文、读取网页与文档、编译程序、运行测试、修复失败构建或测试、不断迭代等。

西京刀客 5790

深入理解Java中的Entity、DTO、VO和POJO:数据模型的多面手

Entity是Java中与数据库表相对应的类,通常用于持久化框架(如JPA、Hibernate)中。Entity类包含了数据库表中的字段,并通过注解或XML配置与数据库表进行映射。Entity类的主要职责是表示数据库中的数据,并提供对这些数据的访问和操作。DTO(Data Transfer Object)是一种用于在不同层之间传输数据的对象。DTO通常不包含业务逻辑,只包含数据字段和对应的getter和setter方法。DTO的主要目的是减少网络传输的开销,提高数据传输的效率。

xycxycooo的博客 3451

2020年大连理工大学《单片机原理及应用》期末试卷

2020年大连理工大学《单片机原理及应用》期末试卷 此试卷为大连理工大学2020年《单片机原理及应用》期末试卷; 大连理工大学2020年《单片机原理及应用》期末试卷; 大连理工大学2020年《单片机原理及应用》期末试卷。 ...

无名何许人的博客 1478

视图库对接系列(GA-T 1400)四、视图库对接系列(本级)注册

在之前的步骤中,我们已经把项目大体的架构已经写出来了。那我们就来实现注册接口。GA-T 1400中的步骤如下:这里的话,我们实现的简单点, 我们不进去鉴权,也就是设备或平台找我们注册的话,我们直接返回成功,不进行验证。如果需要鉴权的话可看我的另外一篇文档。

qq_37716298的博客 1043

java dto框架_java架构之项目结构(entity / DTO / VO)

定义类的讲究 关系示例 定义类的讲究 ejb Enterprise JavaBean(EJB),企业javaBean。是java的核心代码,分别是会话Bean(Session Bean)、实体Bean(Entity Bean)、和消息驱动Bean(MessageDriven Bean)。 javaBean 可重用组件,类必须是具体的公开的,具有无参构造器。 pojo Plain Or...

weixin_35259353的博客 497

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java项目结构_java架构之项目结构(entity / DTO / VO)

定义类的讲究ejbEnterprise JavaBean(EJB),企业javaBean。是java的核心代码,分别是会话Bean(Session Bean)、实体Bean(Entity Bean)、和消息驱动Bean(MessageDriven Bean)。javaBean可重用组件,类必须是具体的公开的,具有无参构造器。pojoPlain Ordinary Java Object,简单的Jav...

weixin_32562973的博客 1071

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Java项目中 实体类(ENTITY,VO,DTO)理解

目录笔者想说一、ENTITY二、VO三、DTO 笔者想说 最近才算是真的开始了JavaEE的编程,遇到 DTO、VO 这两个概念的时候有点晕,不知道真正的作用,困扰几天后,决定好好查查 具体的意思 一、ENTITY Entity(PO) 每个属性基本上都对应数据库表里面的某个字段。完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。持久对象是由insert数据库创建,...

manba 2万+

Java 中 POJO、Entity、DTO、VO、Param 等对象区别是什么?

本文梳理了 Java 项目中常见对象类型的含义与区别:POJO 是普通 Java 对象的抽象;Entity 主要与数据库表字段对应;Model 可用于封装多表查询条件或结果;Domain 更偏向域对象,可聚合多个实体;View 和 DTO 常用于数据传输与页面展示;VO 更侧重返回给前端的视图数据;Param 则多用于封装前端传入的查询或修改参数。理解这些对象分层,能帮助开发者更清晰地设计项目结构。

m0_70325779的博客 4249

DTO、VO、Entity的区别

最近在写代码的时候,对于Entity、VO、DTO的概念有些混淆,不太了解具体的用途以及作用,所以想梳理一下。

someday____的博客 6644

后端中dto、vo、entity的区别

在后端的项目开发中,我们经常会碰到一些包,比如、、,其中都会有一些实体类,但是每个包到底表示什么含义呢?首先表示对数据库中所有表的映射,是根据数据库表字段设计出来的实体(要求表名与类名相同,字段名与成员变量名相同)vo包表示前端页面传过来的如表单等数据的字段,比如当前端填写了一个表单,当前端传过来的数据较多时,我们可以创建一个实体类,将前端传来的数据字段名作为成员变量名,这样我们就可以使用注解快速获取参数内容,而不需要使用Request对象来一个个获取,方便开发。而dto包表示的是 和的一个中间转换对象,是

qq_56769991的博客 1万+

Spring Boot:DTO、VO、BO、Entity 的正确工程化分层

Spring Boot:DTO、VO、BO、Entity 的正确工程化分层

weixin_46619605的博客 3647

Java 编程中 Bean、PO、POJO、VO、Entity、Model、DTO 术语全面解析对比

DTO用于在不同的层或系统之间传输数据,它的结构通常是根据传输需求定制的。

1577

Java SpringBoot中的 Entity DTO VO 三者的关系 这篇就够了

Entity:它包含最基础的属性,这些属性直接映射到数据库表的列。Entity 通常用于数据库操作,比如 CRUD(创建、读取、更新、删除)操作。

制定持续可量化的目标,不断坚持。 6136

java项目中的VO、DTO、Entity

java项目中的VO,DTO和Entity: Entity:每个属性基本上都对应数据库表里面的某个字段。完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。持久对象是由insert数据库创建,由数据库delete删除的。基本上持久对象生命周期和数据库密切相关。 VO:两个理解: VO:值对象(Value Object),通常用于业务层之间的数据传递,和Entity一...

平行宇宙i的博客 5913

关于Java中Entity,DTO,VO,POJO的使用

数据转换:在实际开发中,通常需要将Entity转换为DTO、VO或POJO,或将DTO、VO或POJO转换为Entity,以满足不同层的需求。包含逻辑不同:Entity可以包含简单的业务逻辑,DTO不包含业务逻辑,VO可以包含简单的格式化逻辑,POJO不包含任何业务逻辑。数据聚合:DTO和VO可以聚合多个Entity的数据,形成一个更复杂的数据结构,便于数据的传输和展示。数据聚合:DTO可以聚合多个Entity的数据,形成一个更复杂的数据结构,便于数据的传输和展示。

2401_86388627的博客 1723
上一篇: IDEA for mac 常用快捷键
下一篇: SpringMVC最小依赖+Junit单元测试+log解析(log4j及log4j2)
王小禾
博客等级 码龄11年 80粉丝 291原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值