微服务应用大行其道,我提供一个dto和entity转换工具类,方便大家做转换,少写机械代码,多陪陪家人。

该工具类主要是对dozer进行了封装,使用过程代码量极少,废话少说,贴代码了

import java.util.ArrayList;
import java.util.List;

import org.dozer.DozerBeanMapper;
import org.dozer.Mapper;

public class DtoEntityUtil {
    
    static Mapper mapper = new DozerBeanMapper();

public static <D,E> E trans(D t,Class<E> clazz){
        if(t == null)
            return null;
        return mapper.map(t, clazz);
    }
    
    public static <D,E> List<E> trans(D[] ts,Class<E> clazz){        
        List<E> es = new ArrayList<E>();
        if(ts == null)
            return es;
        
        for(D d:ts) {
            E e = (E)trans(d,clazz);
            if(e != null)
                es.add(e);
        }
        
        return es;
    }
    
    
    public static <D,E> List<E> trans(List<D> ts,Class<E> clazz){
        List<E> es = new ArrayList<E>();
        if(ts == null )
            return es;
        for(D d:ts) {
            E e = (E)trans(d,clazz);
            if(e != null)
                es.add(e);
        }
        return es;
    }
    
}

举例:

//下面两段代码是将entity转换成dto;分别是单个对象转换和集合对象转换;一般用于向consumer提供数据

//WorkeRecord是entity,从数据库中获取的对象

DtoEntityUtil.trans(workeRecord, WorkerRecordDTO.class);

//es是List集合,里面的对象是WorkeRecord的实例

List<WorkerRecordDTO> ds = (List<WorkerRecordDTO>)DtoEntityUtil.trans(es, WorkerRecordDTO.class);

//================华丽分隔符==================

//下面例子是dto转entity,一般用于向provider传入对象

DtoEntityUtil.trans(menuDto, Menu.class);//将mentDto转换成mentEntity

List<User> users = DtoEntityUtil.trans(ts, User.class);//将dto集合ts转换成entityList users

代码量是不是很少~~~

微服务应用大行其道,我提供一个dto和entity转换工具类,方便大家做转换,少写机械代码,多陪陪家人相关推荐

  1. 微服务应用大行其道,我提供一个dto和entity转换工具类,方便大家做转换,少写机械代码,多陪陪家人...

    微服务应用大行其道,我提供一个dto和entity转换工具类,方便大家做转换,少写机械代码,多陪陪家人. 该工具类主要是对dozer进行了封装,使用过程代码量极少,废话少说,贴代码了 import j ...

  2. redis 什么是冷数据_阿里Java三面凉凉:微服务,Redis,JVM一个都搞不懂

    前言: 金九银十刚刚过去了,不知道很多小伙伴都拿到自己心仪的offer没有,我这边也收到了一个粉丝投来的消息,说看到阿里的面试真题之后人都是懵的,发现自己一窍不通,下面给大家分享我这个粉丝的经历,以及 ...

  3. 联发科heli p90_“如果您是Java开发人员并且正在编写微服务,那么Helidon是一个不错的选择”

    联发科heli p90 " Helidon仅设计用于微服务" 尽管Oracle最近开放了 Helidon(一组Java库)的开源资源 ,但是该项目本身并不新鲜,正如Helidon项 ...

  4. SpringCloud(第 016 篇)电影微服务,定制Feign,一个Feign功能禁用Hystrix,另一个Feign功能启用Hystrix...

    2019独角兽企业重金招聘Python工程师标准>>> SpringCloud(第 016 篇)电影微服务,定制Feign,一个Feign功能禁用Hystrix,另一个Feign功能 ...

  5. java图片缩放工具类,一个JAVA图形缩放处置工具类

    一个JAVA图形缩放处理工具类 调用的例子 import java.io.FileOutputStream; import java.io.IOException; import javax.imag ...

  6. 基于Dapper二次封装了一个易用的ORM工具类:SqlDapperUtil

    基于Dapper二次封装了一个易用的ORM工具类:SqlDapperUtil,把日常能用到的各种CRUD都进行了简化封装,让普通程序员只需关注业务即可,因为非常简单,故直接贴源代码,大家若需使用可以直 ...

  7. java dto 转换_json dto javabean转换工具类

    [java]代码库package com.slb.webservice.servlet; import java.io.IOException; import java.util.ArrayList; ...

  8. 分享一个发送http请求的工具类

    分享一个发送http请求的工具类 maven依赖只需要导入一个 <dependencies><dependency><groupId>commons-httpcli ...

  9. 微服务设计简单实践---从一个简单需求学习微服务思想

    从一个案例来看,如何在做架构设计时利用微服务的思想来帮我们解决问题. 背景介绍 公司对产品服务的管理目前还停留在物理机的那种理念,虽然阿里云.AWS.腾讯云.OpenStack等云平台用的不亦乐乎,但 ...

最新文章

  1. Linux上重启服务的正确命令
  2. 你知道如何在springboot中使用redis吗
  3. zabbix文档3.4-7配置
  4. 判断javascript数组的方法
  5. 加载顺序_JAVA类代码块和属性的加载顺序问题,不要以为静态块始终最先执行了!...
  6. Windows Phone 开发起步之旅之二 C#中的值类型和引用类型
  7. 上海立信会计学院_上海立信会计学院分数线_上海立信_立信会计_立信会计学院...
  8. P2487 [SDOI2011]拦截导弹(cdq分治/计数问题思想)
  9. ubuntu 下mysql的常用命令
  10. python程序发布 ubuntu_将Windows项目发布到Ubuntu服务器详细教程(Windows编程,Ubuntu服务器做解释器)...
  11. Python回文判断代码优化与6个思考题
  12. Numpy Statistics 统计函数
  13. keil软件仿真时,程序不能正常运行解决方法
  14. 【控制系统的数学模型——传递函数】
  15. Puzzle UVA - 227 谜题
  16. 观李永乐老师讲音律有感——《管子·地员》之“三分损益法”的探究
  17. 利用WMI轻松打造WINDOWS任务管理器
  18. 【ubuntu20.04】安装百度输入法和搜狗输入法之后,有登陆界面,登陆之后黑屏,只有鼠标可以移动,点击无效,长时间等待提示“连接失败,请注销后重试”
  19. 查找:update $push failed with “Resulting document after update is larger than 16777216”问题引起的原因
  20. 89c51电话按键c语言代码,基于AT89C51单片机电话拨号系统设计.docx

热门文章

  1. C++之string类字符串连接
  2. 李永乐复习全书概率论与数理统计 第七、八章 参数估计及假设检验
  3. 富士施乐m115b怎么连接电脑_施乐 m115b打印机怎么安装
  4. SCI期刊的检索及其影响因子
  5. vue-lottie控制动画的播放、暂停、跳转帧数
  6. HTML,CSS,JavaScript 分别是什么?
  7. TCP协议在传输实时语音流方面的优点
  8. 360 android 权限管理,各机型关于360手机卫士所需相关权限设置教程
  9. JAVA泡泡堂网络游戏的设计与实现免费源代码+LW
  10. 极品五笔的输入法输入的文字怎么在简繁体之间切换?