写一个MapStruct的转换
时间: 2023-02-25 14:17:32 浏览: 50
MapStruct是一个Java的代码生成器,用于从一个对象映射到另一个对象。
要使用MapStruct创建转换,您需要定义源对象和目标对象之间的映射关系。这可以通过创建一个接口,并使用MapStruct注解来完成。
例如,假设您有一个源对象,称为“PersonDTO”,它有一个名称和年龄字段,以及一个目标对象,称为“PersonEntity”,它有一个名字和年龄字段。
您可以创建以下MapStruct转换接口:
```
@Mapper
public interface PersonMapper {
PersonMapper INSTANCE = Mappers.getMapper(PersonMapper.class);
@Mapping(source = "name", target = "name")
@Mapping(source = "age", target = "age")
PersonEntity toEntity(PersonDTO personDTO);
@Mapping(source = "name", target = "name")
@Mapping(source = "age", target = "age")
PersonDTO toDto(PersonEntity personEntity);
}
```
然后,您可以使用此接口将PersonDTO对象转换为PersonEntity对象,如下所示:
```
PersonDTO personDTO = new PersonDTO();
personDTO.setName("John Doe");
personDTO.setAge(30);
PersonEntity personEntity = PersonMapper.INSTANCE.toEntity(personDTO);
```
相反,您也可以使用该接口将PersonEntity对象转换为PersonDTO对象:
```
PersonEntity personEntity = new PersonEntity();
personEntity.setName("John Doe");
personEntity.setAge(30);
PersonDTO personDTO = PersonMapper.INSTANCE.toDto(personEntity);
```
这就是如何使用MapStruct进行对象转换的简单示例。
阅读全文