MapStruct

什么是MapStruct

类似于BeanUtils.copyProperties(resource,target)的对象拷贝的工具

如何使用

导入依赖

1
2
3
4
5
6
7
8
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
</dependency>

倘若我们想将Merchant类转化为merchantDTO类或MerchantDTO类转化成Merchant类则我们可以这样

此@Mapper注解是Mapstruct为我们提供的注解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

import com.zhang.merchant.api.dto.MerchantDTO;
import com.zhang.merchant.entity.Merchant;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;


@Mapper
public interface MerchantCovert {

MerchantCovert INSTANCE = Mappers.getMapper(MerchantCovert.class);

MerchantDTO entity2dto(Merchant entity); //将实体类转化为DTO

Merchant dto2entity(MerchantDTO dto); //将DTO转化为实体类

}

在程序启动后,Mapstruct扫描到@Mapper 注解的接口,并实现接口中的方法

其他功能,以后再拓展