java mapping_MapStruct Java映射工具

关于对象的拷贝

BeanUtils.copyProperties ()

可以实现对象的简单拷贝,但是局限比较大,而且性能不及 MapStruct

811744346cc88bb43e9a0ac274312e6a.png

接下去是使用 MapStruct

工程中引入 maven 依赖

187d6b77b53b0295505eef773078a08b.png

以下是我写的一个例子

一、成员变量名相同时的使用

1.对象student

a5f36ff6727d726ad5afda9070596d44.png

2.对象studentVO

378d647ed0b3a927d1742d3b6bdb1a6c.png

3.写一个Mapper接口StudentMapper,此处的Mapper注解不是MyBtais的Mapper注解。

bae6f8bda2154a62b7186dda7411c82c.png

4.在test类中测试

f57a6d6eb0e7996957d15f724aa3842d.png

5.结果

5199798d8eced90dec9215af70cdf742.png

中间报错

java.lang.ClassNotFoundException: Cannot find implementation for com.xquant....................

发现注解@Mapper引用的jar包是对的(org.mapstruct),再一到target/generated-sources目录下查找实现类,发现没有.

说明没有自动生成转换的类  重新编译项目  或者 直接重启软件

二、成员变量名不相同时的使用

Studnet类的age和name与StudentVO类的ageVO和nameVO对应不上时

ef2856eca29115af199e3caf8a4b3f88.png

dd35f5820aeccd4e01a26f7faa49226b.png

ff0126c5cabab8cdea070ae11a5f5a63.png

d9746c3c8761612e758fd5fec82fa80a.png

结果

300ad9fa08fbe7d71b6230811e464e4c.png

三、多参数

75d23b1a56da3b5d50499f69630bb7f9.png

699a51bb2344c954d39f5bfcfc51f5cf.png

0a3bc5fa4372b0da301f5236f2754a03.png

结果

f6eef0b82592011fac18aed0eb6aab49.png

四、多层嵌套

a0e9825862a820bbdc6ff37e44998941.png

5eb669deb3f7d1890d474de0372b4358.png

abb1ed8174a0f80018dfb28827e6c821.png

adc0f735875b16434086620865f43c27.png

f88590f681c466d0a6fe7e9d69465e03.png

结果

535e9f8b12ae84e63d92641ff965e696.png

另外就不一一讲解了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值