orika 给自己的定义是
simpler, lighter and faster Java bean mapping framework.
使用场景
DO(实体对象-持久化)和数据传输对象(DTO)之间的映射时候,要写get 和set方法,超级麻烦。
使用Orika就不用写繁琐的Convert转化类,Orika同级别的竞品还有Apache的BeanUtils,Spring的BeanUtils
如何使用
Maven项目依赖包:POM文件直接依赖进去即可。
<dependency>
<groupId>ma.glasnost.orika</groupId>
<artifactId>orika-core</artifactId>
<version>1.4.6</version>
</dependency>
... DTO newDTO = mapperFacade.map(entity, DTO.class); ...
默认情况下,orika只会把两个类,名称相同的两个属性做相应的拷贝,当名称不相同的时候,可以通过配置来做对应的匹配。
Map<String, String> map = Maps.newHashMap();
map.put("birth","birth");
map.put("pemail","email");
map.put("user.age","age"); // 嵌套映射
PersonDTO dto = MapperUtils.INSTANCE.map(PersonDTO.class, person, map);
System.out.println(dto);
List<OrderItemDto> orderItemDtos =
mapperFacade.mapAsList(orderItems, OrderItemDto.class);