Java 里 Model与DTO不是很明白

初学Java EE,感觉Model就是用来传输数据用的,后来又蹦出个DTO,网上说Model面向领域模型,DTO用来传输数据,如果项目不大一般都是Model充当DTO,DTO面向UI,这时我想说领域模型是个什么鬼,去掉所谓的Model层直接DTO会发生什么情况,我以前就是认为Model层是用来传数据用的,现在知道了我一直都在那Model做DTO的事,我现在的感受是DVC,而不是MVC 而且M是个没用的东西,不传数据还有什么存在的意义?求大神指点一下

1

1个回答

可以这样理解:Model是对数据表实体的映射;DTO是针对于前台页面的封装,可以是一个表或多表。如果Model字段可以直接满足前台页面需要,可以不用定义DTO

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
dto层与model层的区别
Model层是面向业务的,我们是通过业务来定义Model的。而DTO是面向界面UI的,是通过UI的需求来定义的。 通过DTO我们实现了表现层与Model之间的解耦,表现层不引用Model。如果开发过程中我们的模型改变了,而界面没变,我们就只需要改Model而不需要去改表现层中的东西。 需要了解的是,数据传输对象DTO本身并不是业务对象。数据传输对象是根据UI的需求进行设计的,而不 是根据
DTO层 和 Model层 的区别
DTO 和 Model 都是JavaWeb项目里封装数据的,他们有什么区别呢? 简单的说:DTO封装的数据面向表现层(UI),Model封装的数据面向业务逻辑层(service)。 好处:开发中模型改了但是UI没变,则自需要改变model,而不需要该其他。 DTO即数据传输对象。之前不明白有些框架中为什么要专门定义DTO来绑定表现层中的数据,为什么不能直接用实体模型呢,有了D
Dto与Model之间的转换
1.开始做项目,发现实际的项目中传输层会有一个Dto类,作为参数传入对应的Service里面,刚开始很纳闷,数据库中有相应的Model类,干嘛还有多这一个Dto类。百度,问了问,发现,确实需要这一个Dto类作为中间的传输。这样做,我认为主要是方便,和数据的安全,不用每次把一个Model的实体对象传出,保证外部不需要了解Model的属性和参数名称。 2如何转换 刚开始我以为需要手动的
关于springMVC的Model中时不能添加自己定义的dto对象
在项目中遇到的问题:(前端老是访问不到数据、也不报错)  记录一下:
AutoMapper完成Dto与Model的转换
AutoMapper完成Dto与Model的转换
DTO、Model,ViewModel,Object,Entity作用(转载)
DTO、Model和ViewModel是我们经常在应用架构中的持久层、表示层等层次上出现的数据载体,学习OOP的朋友也经常会接触到Object和Entity。在这里我希望与大家交流一下这几个概念。 1.DTO 数据传输对象(DTO)是用来在软件应用子系统之间传递数据模式,DTO经常被用来跟数据访问对象(DAO)一起从数据库查询数据。 既然DTO是一种模式,那么它解决了哪些问题呢?
领域模型中的实体类分为四种类型:VO、DTO、DO、PO
领域模型中的实体类分为四种类型:VO、DTO、DO、PO
浅析Java中dto、dao、service、controller的四层结构
目前我所在的项目组采用的是SpringBoot框架,前端使用BootStrap+jQuery。 SpringBoot是BS开发框架之一,不用单独开启tomcat服务器,目前比较流行,一般开发大型项目时会将所有的功能细分为许多小模块,每个模块都有dto、dao、service和controlleer层,有些模块还会加入validate层。 先给大家看个小模块的目录结构。 首先,最底层的就是...
bean、javabean、entity、dto、ejb、pojo都是些什么鬼
1、javaBean javaBean是一种Java语言写成的可重用组件。为写成JavaBean,类必须是具体和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。更多的是一种规范,即包含一组set和get方法的java对象。javaBean可以使应用程序更加面向对象,可以把数据封装起来,把应用的业务逻辑和显示逻辑分离开,降低了开发的复杂程度
java 使用反射在dto和entity 实体类之间进行转换
public class Utils { /** * 将dto和entity之间的属性互相转换,dto中属性一般为String等基本类型, * 但是entity中可能有复合主键等复杂类型,需要注意同名问题 * @param src * @param target */ public static Object populate(Object src, Object target) ...
DTO笔记
我们为什么需要DTO(数据传输对象) 表现层与应用层之间是通过数据传输对象(DTO)进行交互的,数据传输对象是没有行为的POCO对象,它 的目的只是为了对领域对象进行数据封装,实现层与层之间的数据传递。为何不能直接将领域对象用于 数据传递?因为领域对象更注重领域,而DTO更注重数据。不仅如此,由于“富领域模型”的特点,这样 做会直接将领域对象的行为暴露给表现层。 需要了解的是,数据传输对象DT...
关于STM32寄存器的理解
我们以STM32F4系列为例, 他有7根控制总线和8根被控总线(S0-7),他们交叉的圆点表示这两根总线之间可以互相通信,M0,M2,M6表示STM32的三种不同启动方式,FLASH启动(包含系统存储器),内部SRAM启动,外部RAM启动。 存储器本身不具有地址,是厂商或者我们用户自己给他分配地址的,这个过程就叫做存储器映射,如果我们给存储器再 分配一个地址,就叫做存储器的重映射。
DTO与Entity 的区别
1:在调用业务方法时,DTO对象数据是由Action生成(可能是用户输入的Form数据,也可能是其他情况)。为了说的清楚简洁,请允许我举个例子: 用户更新自己的注册信息,例如修改密码之类的操作。 用户提交页面-->ActionForm提取Form数据-->构造并对UserDTO赋值-->调用业务方法changePassword(UserDTOdto)把DTO对象传入业务方法-->业务方法
spring boot框架搭建-7 建立数据传输对象dto以及映射ModelMapper
对于前后端数据交互的时候,有时候不一定对应上实体类,这时候我们就需要建立dto package com.example.wx.dto; import lombok.Data; import lombok.NoArgsConstructor; /** * Created by w on 2019/3/9. */ @Data @NoArgsConstructor public class Us...
利用java 反射将DTO类中的属性值更新到对应的实体类中
以上是对实体类的赋值更新
vo、po、dto、bo、pojo、entity、mode如何区分
Java Bean:一种可重用组件,即“一次编写,任何地方执行,任何地方重用”。满足三个条件 类必须是具体的和公共的 具有无参构造器 提供一致性设计模式的公共方法将内部域或暴露成员属性 VO value object:值对象 通常用于业务层之间的数据传递,由new创建,由GC回收 和PO一样也是仅仅包含数据而已,但应是抽象出的业务对象,可以和表对应,也可以不是 PO persis...
【AutoMapper官方文档】DTO与Domin Model相互转换(下)
AutoMapper目录: 【AutoMapper官方文档】DTO与Domin Model相互转换(上)【AutoMapper官方文档】DTO与Domin Model相互转换(中)【AutoMapper官方文档】DTO与Domin Model相互转换(下)未完待续。。。   本篇目录: Mapping Inheritance-映射继承 Queryable Ext
domain、entity和model的package的不同用法
以前写项目,都是先快速创建entity、dao、service再说,其他的包一般都是根据不同的框架来创建不同功能的包。比如用struts框架创建一个action包,用servlet就创建一个servlet包,用jersey框架就创建一个resource包。但是最近看了一个国外的开源项目源代码,有一个包叫domain,打开一看里面就是存的实体类,功能和我们平时用的entity是一样的,那为什么要用d
JavaBean,POJO,VO,DTO的区别和联系
JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 的属性。 VO即value object值对象 主要体现在视图的对象,对于一个WEB页面将整个页面的
自己实现的Android中将任意实体类(Entity、vo、dto、Model)对象(object)转为Json字符串的一个类
自己实现的一个Android中将任意实体类对象转为Json的工具类。适用于Android开发。
实体类转换DTO的方式
背景:在对外传输数据展示过程中,为了避免model层直接对外暴露,我们会多加一个对应的DTO保理想要传输的数据即可,隐藏model层。 应对: 1.第一种,如果是实体类字段类型都一样,大部分会采用bean拷贝的方式,BeanUtils.copyProperties(obj,obj),单个对象的转换还好,但是List对象就要循环来转换。 2.第二种,要是遇到驼峰类型字段与下划线字段的对象进行转...
DTO(数据传输对象)介绍与实例
DTO就是数据传输对象(Data Transfer Object)的缩写。   DTO模式或称VO模式,是指将数据封装成普通的JavaBeans,在J2EE多个层次之间传输。   DTO类似信使,是同步系统中的Message。    一个DTO实例:   public interface Dto extends Map{ /** * 以Integer类型返回键值 * ...
生成DTO的两种方式
假设我们现在有一个DTO,其属性包括两张表的属性,我们现在需要将sql语句查询得到的内容转为一个DTO对象,其解决方法如下:  方法一: SQLQuery query = session.createSQLQuery("select a.id as areaId,a.name as areaName,c.id as screenId,c.name as screenName from
在开发中实体类的field要用包装类型还是用基本类型的一点思考
在开发中如果用到or mapping的时候最好实体类中的属性要用包装类型,如果在使用Hibernate做映射的时候如果使用基本类型做映射,那么数据库的对应字段一定要设置成 not null 因为,如果使用基本类型那个而且数据库中有为null值的数据时使用会报错。
Dto转换实体类及AutoMapper的使用(1)
Class1: Class2: 主程序: using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using AutoMapper; namespace C...
Java中PO、BO、VO、DTO、POJO、DAO概念及其作用和项目实例图(转)
Java中PO、BO、VO、DTO、POJO、DAO概念及其作用和项目实例图(转) PO(bean、entity等命名): Persistant Object持久对象,数据库表中的记录在java对象中的显示状态 最形象的理解就是一个PO就是数据库中的一条记录。 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。  BO(service、manager、business等命名)...
DTO和POJO实体类之间值映射
package cn.test.util; import java.lang.reflect.Method; import java.util.List; public class AutoMapper { public static void mapping(TSource source,TDestination destination) { Method[] srcMetho
Dto转实体类 AutoMapper
AutoMapper工具的使用 Dto 与 实体类 的值相互转换
Java Web开发 之VO、PO、TO、SOA、DTO等收集
DAL(数据访问层) SOA Service Orient Architecture 面向服务的设计 ---------------------------------------- PO:全称是persistant object持久对象最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。BO:全称是business ob
java中几种常用的对象类型(po,vo,bo,dto) 及转换处理(翻译器)
example01 package test; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.junit.Test; //import net.sf.json.JSONArray; //import net.sf.json.J
理解web项目中的VO,DTO,DO,PO
理解web项目中的VO,DTO,DO,PO想起第一次实习的时候被嫌弃VO,DTO,DO,PO不分voDODTOPO 想起第一次实习的时候被嫌弃VO,DTO,DO,PO不分 所以他们到底是什么呢? 经过学习个人理解如下。 vo vo就是我们在web的controller层返回的Object, 在接口中这个VO都会被转成Json对象输出,view object。 DO DO就是一个业务实体对象 DTO...
如何优雅的将DTO转化成BO
本文转载自http://lrwinx.github.io DTO 数据传输我们应该使用DTO对象作为传输对象,这是我们所约定的,因为很长时间我一直都在做移动端api设计的工作,有很多人告诉我,他们认为只有给手机端传输数据的时候(input or output),这些对象成为DTO对象。请注意!这种理解是错误的,只要是用于网络传输的对象,我们都认为他们可以当做是DTO对象,比如电商平台中
实现java表单提交时请求参数与dto的映射
一般在servlet或controller里获取前台请求的数据时时通过request.getParam的方式获取,此方式会产生大量的模板式的重复代码,整体代码也不简洁。为此各种框架都做了一些处理,使得开发人员从这种无聊的工作中解放出来,比如spring在handle方法中增加object参数,struct在action的execute方法中增加form参数。应用系统开发人员直接从object、fo
Java中 PO、DO、DTO、VO、FormBean的通俗解释
PO、DO、DTO、VO、FormBean的个人理解。。。
java DTO 详解
java DTO 详解 java DTO 详解 java DTO 详解 java DTO 详解
entity、dto、vo理解
ENTITY 持久化,与数据库对应; DTO 系统、服务之间交互传输用; VO 前台(APP\WAP\PC)展示用; 作用说明: 1、DTO可以增加或者减少entity的字段,来灵活实现信息传递; 2、VO可以仅向前端传输,页面需展示字段,避免F12信息泄露;
根据DTO结构,生成 insert Update SQL 语句
   private string GetInsertSql<T>(T dto, string tableOwnerSchema)        {            string sqlTemplate = @"INSERT INTO [{0}].[{1}] ({2}) values ({3});";            string columnName = string.E...
解释Java工程中几种常见的包:PO,VO,DAO,BIZ,DTO,Service,ServiceImpl
Java工程中几种常见的包的含义和区别:PO,VO,DAO,BIZ,DTO,Service,ServiceImpl
在HQL中使用Dto对象查询
一、DTO对象 package itat.zttc.hibernate.model; /** * 数据传输对象(DTO)(Data Transfer Object)没有存储的意义,只是用来进行数据传输 * @author Renwei * */ public class StudentDto { private int sid; private String sname; priv
关于java工程中文件命名(PO/VO/BO/DTO/POJO/DAO)的个人理解
对于刚刚接触java的新手来说不是很清楚 在要求比较严格的公司会比较注重细节: PO(Persistant Object): 顾名思义”持久化对象”,简单来说就是实体对象属性和表中字段存在一一对应的关系,用于做数据库持久化操作的对象 VO(Value Object): 值对象,主要用于数据的传输;其实和BO、DTO差不多 BO(Business Object): 业务对象,主要是在业务层做业...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习java很枯燥 java学习很迷茫