java实体之间的转换

阅读: 评论:0

java实体之间的转换

java实体之间的转换

目录

一.实体之间的关系

1.实体场景

2.作用

3.下面以一个时序图建立简单模型来描述上述对象在三层架构应用中的位置

二.实际应用场景

1.转换类场景:

  2.创建流程 


一.实体之间的关系

1.实体场景

VO对应于页面上需要显示的数据(表单)
DO对应于数据库中存储的数据(数据表)
DTO对应于除二者之外需要进行传递的数据

2.作用

VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,泛指用于展示层与服务层之间的数据传输对象。
DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。
PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。

3.下面以一个时序图建立简单模型来描述上述对象在三层架构应用中的位置

 用户发出请求(可能是填写表单),表单的数据在展示层被匹配为VO。
       展示层把VO转换为服务层对应方法所要求的DTO,传送给服务层。
       服务层首先根据DTO的数据构造(或重建)一个DO,调用DO的业务方法完成具体业务。
       服务层把DO转换为持久层对应的PO(可以使用ORM工具,也可以不用),调用持久层的持久化方法,把PO传递给它,完成持久化操作。

二.实际应用场景

今天主要讲解dto(数据传输对象)之间的实体转换

1.转换类场景:

将一个对象的值赋值给另一个对象时(属性名和流转数据相同),就需要用到我们的转换类了.

  2.创建流程 

创建一个转换接口

@Mapper
public interface UserConvert {UserConvert INSTANCE= Mapper(UserConvert.class);User UserDtoToEntity(BzhdDataManageDto bzhdDataManageDto);//dto-->entity(数据流向)
}

业务层代码

public boolean saveUserManage(UserDto userDto) {User user= UserConvert.INSTANCE.UserDtoToEntity(userDto);
}

如若属性名不同,则应该如何转换:

具体步骤(针对属性名不相同):

@Mappings({@Mapping(source = "name", target = "userName"),@Mapping(source = "id", target = "userId"),@Mapping(target = "age", ignore = true)})

source里面填写的是要转换的属性名,,target里面填的的是被转换后的属性名.ignore指的是忽略

本文发布于:2024-01-29 05:44:49,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170647829013119.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:实体   java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23