当前位置: 首页 > news >正文

比BeanUtils.copyProperties()更高效的方法

BeanUtils.copyProperties()的jar包
import org.springframework.beans.BeanUtils;
可以用到标签@Mapper
用到的jar包
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
如下类:
TestOrderConvert

@Mapper(imports = {
Date.class,
List.class
})
public interface InvoiceDetailInfoConvert {
InvoiceDetailInfoConvert INSTANCE = Mappers.getMapper(InvoiceDetailInfoConvert.class);

InvoiceInfoRespDTO convertToInvoiceInfoResp(InvoiceDetailInfoRspDto respDTO);
List<InvoiceInfoRespDTO> convertToInvoiceInfoListResp(List<InvoiceDetailInfoRspDto> list);

}
使用方式,
convertToInvoiceInfoResp 对应的是object的数据同步,
convertToInvoiceInfoListResp 对应的是List<Object>对象的同步
InvoiceDetailInfoRspDto 的字段名称要与
InvoiceInfoRespDTO的同步字段名一致。不一致的话,可以用如下方式转换
@Mapping(target = "wechatName", source = "userName")
GuideListResponse convert(TerminalGuideListResponse terminalGuideListResponse);

还能进行格式转换,如下:
@Mapping(target = "verificationStatusDesc", expression = "java(VerificationStatusEnum.getDesc(dto.getVerificationStatus()))")
EaUnVerificationListPageResp convertEaUnVerification(EsChildActRangeDTO dto);

@Mapper(imports = {
VerificationStatusEnum.class
})

还能如下:
@Mappings({
@Mapping(target = "createTime", expression = "java(entity.getCreateTime() != null ? entity.getCreateTime().getTime() : null)"),
@Mapping(target = "updateTime", expression = "java(entity.getUpdateTime() != null ? entity.getUpdateTime().getTime() : null)"),
})
http://www.jsqmd.com/news/462783/

相关文章:

  • YOLOv5实战:如何根据场景调整置信度和NMS阈值(附代码示例)
  • 2026年上海岩田喷涂设备选购指南:3招教你避开假货,挑对一级代理 - 精选优质企业推荐榜
  • 从数据包转发流程看硬件负载均衡:为什么需要记录last hop信息?
  • Ubuntu 22.04网络配置指南:从ifconfig到Netplan的平滑迁移实战
  • Carla 0.9.4 源码编译实战:从环境配置到成功运行的完整避坑指南
  • 2026铝壳锂电池厂家推荐:锂电池工艺流程图/锂电池电池/储能电池/电源管理系统/聚合物锂电池/铝壳锂电池/选择指南 - 优质品牌商家
  • Kettle实战:如何用REST Client从Elasticsearch高效抽取数据到Oracle(附完整配置截图)
  • F键竟能控制音量?键盘最上方那排键的隐藏用法大全(含浏览器/PPT冷知识)
  • 豆包Seed-TTS语音合成实战:5分钟搞定AI配音(附Python代码与音色调试技巧)
  • 零基础玩转HunyuanVideo-Foley:上传视频+文字,一键生成专业音效
  • 2026年青岛AI搜索优化公司排行榜,高效技术助力企业增长 - myqiye
  • uniapp微信小程序分包超限?3种实测有效的解决方案(含HBuilder发行技巧)
  • 2026年一千京东卡回收多少钱?正规渠道报价+完整回收攻略 - 京回收小程序
  • 实测论文AI率从97%降到8%!2026最新降AI攻略,从容应对知网AIGC检测更新! - 殷念写论文
  • FastAPI + LangGraph 构建可记忆对话机器人:从状态管理到流式响应
  • 高效解决dm_control与mujoco-2.1.1环境配置中的常见问题
  • RetinaFace人脸检测模型在Python爬虫中的应用:自动化数据采集与分析
  • 哈夫曼树构建中的权值冲突处理策略
  • 深入浅出LevelDB:Arena内存分配器的设计与优化
  • LeaguePrank个性化展示工具技术指南:从原理到实践的完整解决方案
  • OpenSpec:为什么优秀团队改代码之前都要做一件事?
  • 从零构建ComfyUI自动化绘图:API与WebSocket实战指南
  • LabVIEW | 串口通信实战:从零搭建数据收发系统
  • 跳跃连接与多尺度特征融合:提升红外图像超分辨率重建精度的新策略
  • 计算机毕业设计springboot文化艺术发展有限公司 基于SpringBoot的娱乐经纪公司综合运营平台 SpringBoot框架下的艺人孵化与粉丝互动管理系统
  • 运动控制中的Jerk优化:从理论到实践
  • 打开一个Nios II 工程遇到空白 或者编译无法生成elf文件时 ,尝试删除software 工程, 重新手动创建Nios II 工程可解决问题
  • 在自动化脚本中如何直接执行本地、离线自动化脚本?
  • 大模型PK实战:用AlpacaEval2.0给你的LLM打个分(Qwen2.5/GPT-4对比评测教程)
  • C#调用C++的OpenCV库:如何高效传递Mat数据(附完整代码示例)