方法一:前提是属性名一致,如果两个类属性名不一致,赋值不上了
// 将实体类Entity属性赋值给EntityVo
BeanUtils.copyProperties(Entity,EntityVo);
方法二:如果两个类的属性值不同,可以用下面的赋值,
除了单个对象,集合对象也是可以的。
还可以两个对象合并成一个对象。
1、POM依赖
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
<version>1.2.0.CR1</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.2.0.CR1</version>
</dependency>
2 、自定义接口
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
@Mapper
// 注意导入的是 mapstruct包
public interface EntityMapper {
EntityMapper mapper = Mappers.getMapper(EntityMapper.class);
// 映射关系注解
@Mappings({
@Mapping(source="entytyId",target = "id"),
@Mapping(source="entytyName",target = "name"),
@Mapping(source="entytyAge",target = "age")
})
EntityVo Entity2Vo(Entity entity);
}
3、调用接口进行赋值
EntityVo entityVo = EntityMapper .mapper.Entity2Vo(entity);
System.out.println(entityVo );