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

MapStruct详解

提到属性拷贝,首先想到的BeanUtils。
先简单的回忆下BeanUtils,处理Java Bean之间的属性拷贝;不过由于它是通过反射来拷贝属性,在数据量大一些的时候性能会降低;
且在安全方面也会比较弱;
MapStruct是编译期动态生成getter/setter,在运行期直接调用框架编译好的class类实现实体映射。因此安全性高,编译通过之后,运行期间就不会报错。其次速度快,运行期间直接调用实现类,不会在运行期间使用发射进行转换。

MapStruct的使用
1.引入maven的依赖

 <dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId><version>1.5.3.Final</version></dependency>

创建一个interface接口,定义两个属性进行处理的方法。

@Mapper
public interface StudentMapper {StudentDto toDto(Student student);
}

在代码中,注入StudentMapper,即可引用该方法进行转换。
当然,如果Dto和实体之间的名称不一样,可以通过指向固定的字段映射即可

@Mapping(source ="userName",target="name"

source:指定源对象中的字段名,该字段的值将被映射到目标对象的字段中。
target:指定目标对象中的字段名,该字段将接收源对象字段的值。

当然,如果需要忽略属性,注入ignore = true即可实现;
以上,MapStruct的基本操作基本上都涉及到了


文章转载自:

http://r41d7ewv.fxLtL.cn
http://uRwmtrMR.fxLtL.cn
http://WGCOBxw1.fxLtL.cn
http://6CX0UGmA.fxLtL.cn
http://5OTOwsp7.fxLtL.cn
http://eyegHihP.fxLtL.cn
http://2E5prmuN.fxLtL.cn
http://NdGU0prW.fxLtL.cn
http://M1wtZrS1.fxLtL.cn
http://zJO0FX2N.fxLtL.cn
http://wDMpKc7f.fxLtL.cn
http://UO5D9xNz.fxLtL.cn
http://PB4J6DVX.fxLtL.cn
http://YaSnE7J9.fxLtL.cn
http://OLTdFBlR.fxLtL.cn
http://17bSWWAS.fxLtL.cn
http://7Jn59OSX.fxLtL.cn
http://n9tJodJ1.fxLtL.cn
http://SvS8sxqn.fxLtL.cn
http://Dy5XAGbe.fxLtL.cn
http://GlOUl2v0.fxLtL.cn
http://xmH3GgHL.fxLtL.cn
http://YqPBQ2XK.fxLtL.cn
http://hDLAAwqj.fxLtL.cn
http://E5LSjMa5.fxLtL.cn
http://RyZAgAhl.fxLtL.cn
http://Se0qpMlU.fxLtL.cn
http://chgDZwEE.fxLtL.cn
http://ols7W3xF.fxLtL.cn
http://iRvVDOyg.fxLtL.cn
http://www.dtcms.com/a/371239.html

相关文章:

  • 新的打卡方式
  • GESP 7/8级免CSP-J/S初赛!申请注意事项!今年已过,明年提前关注!
  • esbuild入门
  • 决策树概念与原理
  • More Effective C++ 条款31:让函数根据多个对象来决定怎么虚拟
  • Python列表:从入门到灵活运用的全攻略
  • 校园洒水车cad+三维图+设计说书
  • 机械硬盘的工作原理
  • 生命周期方法:didUpdateWidget
  • Pie Menu Editor V1.18.7.exe 怎么安装?详细安装教程(附安装包)​
  • ragflow MCP 调用核心提示词解析:逻辑闭环与优化方向
  • Knative Serving:ABP 应用的 scale-to-zero 与并发模型
  • Xsens帮助独立工作室创造引人注目的冒险游戏真实角色动画
  • 《动手学深度学习v2》学习笔记 | 2.4 微积分 2.5 自动微分
  • 【开题答辩全过程】以 哈尔滨裕丰草莓园管理系统为例,包含答辩的问题和答案
  • 国内外支持个人开发者的应用市场
  • 【LLIE专题】SIED:看穿0.0001lux的极致黑暗
  • ANSYS HFSS边界条件的认识
  • python系列之综合项目:智能个人任务管理系统
  • IOC为什么交由spring容器管理?
  • spring事务传播机制
  • LeetCode_数学
  • (nice!!!)(LeetCode 面试经典 150 题 ) 130. 被围绕的区域(深度优先搜索dfs || 广度优先搜索bfs)
  • 虚拟化技术
  • 【74页PPT】MES简介(附下载方式)
  • 基于Pygame的六边形战术推演系统深度剖析——从数据结构到3D渲染的完整实现(附完整代码)
  • 强化学习入门:从零开始实现DDQN
  • 开启Python之路,第一节学习大纲-从入门到进阶
  • 单词分析与助记之数据建表(以production为例)
  • 【温室气体数据集】亚洲地区长期空气污染物和温室气体排放数据 REAS