文章目录

  • 1. CopyUtil
  • 2. 使用案例
1. CopyUtil
package com.gblfy.wiki.util;import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils;import java.util.ArrayList;
import java.util.List;/*** @author gblfy* @desc list和对象数据复制* @date 2021-04-13*/
public class CopyUtil {/*** 单体复制*/public static <T> T copy(Object source, Class<T> clazz) {if (source == null) {return null;}T obj = null;try {obj = clazz.newInstance();} catch (Exception e) {e.printStackTrace();return null;}BeanUtils.copyProperties(source, obj);return obj;}/*** 列表复制*/public static <T> List<T> copyList(List source, Class<T> clazz) {List<T> target = new ArrayList<>();if (!CollectionUtils.isEmpty(source)) {for (Object c : source) {T obj = copy(c, clazz);target.add(obj);}}return target;}
}
2. 使用案例
package com.gblfy.wiki.service;import com.gblfy.wiki.entity.Ebook;
import com.gblfy.wiki.entity.EbookExample;
import com.gblfy.wiki.mapper.EbookMapper;
import com.gblfy.wiki.req.EbookQueryReq;
import com.gblfy.wiki.resp.CommonResp;
import com.gblfy.wiki.resp.EbookQueryResp;
import com.gblfy.wiki.util.CopyUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;import java.util.List;@Service
public class EbookServiceImpl {@Autowiredprivate EbookMapper ebookMapper;public List<EbookQueryResp> list(EbookQueryReq req) {EbookExample example = new EbookExample();EbookExample.Criteria criteria = example.createCriteria();if (!ObjectUtils.isEmpty(req.getName())) {criteria.andNameLike("%" + req.getName() + "%");}List<Ebook> ebookList = ebookMapper.selectByExample(example);//集合数据复制 使用案例List<EbookQueryResp> list = CopyUtil.copyList(ebookList, EbookQueryResp.class);//对象数据复制 使用案例Ebook ebook = CopyUtil.copy(req, Ebook.class);return list;}
}

list和对象数据复制CopyUtil工具类相关推荐

  1. 长文 | 从发展轨迹、社会变迁和人口数据变化来看工具类产品的发展出路有哪些(1)

    7月25日,我看到"腾讯某GM|工具类产品,未来发展的出路有哪些?"这个问题觉得很有意思,下面是我对这个问题的回答,希望有更多道友能参与进来分享. 我对这个问题很感兴趣,最近花了不 ...

  2. Java 对象copy之BeanCopier工具类的使用

    对象拷贝的应用现状简介: 业务系统中经常需要两个对象进行属性的拷贝,不能否认逐个的对象拷贝是最快速最安全的做法,但是当数据对象的属性字段数量超过程序员的容忍的程度,代码因此变得臃肿不堪,使用一些方便的 ...

  3. java获取excle表格对象_Java使用excel工具类导出对象功能示例

    本文实例讲述了Java使用excel工具类导出对象功能.分享给大家供大家参考,具体如下: package com.gcloud.common; import org.apache.poi.ss.use ...

  4. java 打印对象属性 工具类_关于java实现任意对象输出字符串的工具类ObjectUtils用户打印日志、接口调试及监控等...

    通过该对象工具类ObjectUtils(参考org.springframework.util.ObjectUtils)实现了类集.数组及基本数据类型转换及字符串输出,常用在日志输出打印.接口联调及对象 ...

  5. [XML-Jsoup]Jsoup_对象的使用(Jsoup工具类,Document,Elements,Element,Node)

    对象的使用: 1. Jsoup:工具类,可以解析html或xml文档,返回Document* parse:解析html或xml文档,返回Document* parse​(File in, String ...

  6. 对象存储Minio 客户端工具类,实现文件上传、图像压缩、图像添加水印

    在搭建好了MInio分布式对象存储集群后,官方提供了MInio Client 各类语言的SDK,但是无法直接使用需要进一步封装,这里将JAVA 版的的SDK结合自身业务做个简单封装. Minio 中文 ...

  7. 判断对象是否为空工具类

    项目中判断一个对象是否为空的操作必不可少的,可千万别傻乎乎的用==null去判断.目前官方没有给出这样的工具类,只能自己去实现了,代码如下:直接拿去用即可 package com.hisense.io ...

  8. 【linlong】Hutool工具,身份证号、手机号、姓名等数据脱敏信息工具类介绍

    前言   在开发系统过程中,经常会接触到大量的数据信息,这些数据信息可能包含身份证号.手机号.姓名.卡号等各种敏感信息.而有些用户需求是不允许,这些敏感信息数据为了保护用户个人信息的安全.对这些数据需 ...

  9. 【收藏】身份证号、手机号、姓名等数据脱敏信息工具类介绍

    前言   在开发系统过程中,经常会接触到大量的数据信息,这些数据信息可能包含身份证号.手机号.姓名.卡号等各种敏感信息.为了保护用户个人信息的安全.对这些数据需要进行特殊处理. 数据脱敏   数据脱敏 ...

最新文章

  1. java面试题,将String字符串转换成数字
  2. 报错:“-bash: git: 未找到命令”
  3. 智商145!比利时神童9岁读完大学,成史上最年轻大学毕业生
  4. 研究生毕业之际一些闲聊
  5. 在.net2.0下使用System.Web.Script.Serialization;
  6. 深度解密换脸应用Deepfake
  7. Atitit 功能扩展法细则条例 目录 1. 界面ui扩展 2 1.1. 使用h5做界面 2 1.2. 自制h5 ide。。简化ui自定义配置 2 2. 业务逻辑扩展 2 2.1. Bpm流程引擎还
  8. 卡爆mysql_荐 MySQL死锁和卡死分析
  9. 【VS2017】VS2017离线安装教程
  10. SPSS统计分析专题系列(一、认识SPSS)
  11. c free 语言随机抽签,javascript随机抽签程序详解
  12. android手机接投影仪,只需一招, 手机也能连接投影仪!
  13. 字节跳动Data数据平台/数据分析招聘
  14. 在升序排序的数组中插入一个元素 用函数编程实现在一个按升序排序的数组中查找x应插入的位置,将x插入数组中,使数组元素仍按升序排列。 提示:插入(Insertion)是数组的基本操作之一。插入法排序算法
  15. java短信接口_短信接口-- java
  16. PEST分析顺丰服务需求_快递行业宏观环境分析
  17. 全球著名化妆品品牌--SEPHORA丝芙兰验厂
  18. 最新WebStrom 2018.3 破解教程永久激活
  19. 一程序员被网恋女友诈骗1.8万,警方调查“女友”后发现竟是...
  20. 壳聚糖基原位水凝胶包载角膜缘干细胞/纳米壳聚糖骨形态发生蛋白水凝胶的研究制备

热门文章

  1. 一日之计在于晨,早起挑战万元大奖!
  2. 延长天文学家寿命的发现——纳皮尔发现对数
  3. 优秀自我简介200字_急需稿件,稿费200元起/篇 | 公众号【深夜秘杏酱】长期征稿(可签约)...
  4. 【使用注意】文件内容突然消失
  5. Mysql for linux 安装
  6. c++ List(双向链表)
  7. 数据结构上机测试2-1:单链表操作A
  8. 程序员要如何学英语?
  9. PCL “(”:“::”右边的非法标记 和 E2512 功能测试宏的参数必须是简单标识符
  10. 【干货】和你谈谈数据分析报告