冰灯

云水禅心

  • 首页
  • 归档

  • 搜索
mybatis Dubbo Git Https ELK Elasticsearch logstash Springboot Nginx Java MQ

mapstruct PO VO DTO等转换工具类

发表于 2017-08-22 | 分类于 Java | 0 | 阅读次数 246
@Mapper
npublic interface POToVOMapper {
    POToVOMapper poToVOMapper = Mappers.getMapper(POToVOMapper.class);
 @Mappings({          
@Mapping(target="address",source="user.name")
 })
 UserVO userToUserVO(User user);
}

1、如果要设置多个属性的po与vo对应的值,使用@Mappings注解,里面配多个@Mapping就行

2、Mapping中的参数解析
(1)target的值为目标实体的属性(即转换后得到的实体的属性)
(2)source的值为源实体的属性(即需要用来进行转换的实体的属性)
(3)expression: 可以通过表达式来构造一些简单的转化关系,目前仅支持java,java()里面的类必须指定全类名,否则在编译时,找不到对应的类

示例

@Mappings({      
 @Mapping(target="address",source="user.name"),
 @Mapping(target = "birthday" ,expression = "java(new java.text. SimpleDateFormat("yyyy-MM-dd").format(user.getBirthday()))")
})

注:
1、若是PO转VO,则target的值就是VO的属性,source的值就是PO的属性

 2、若是VO转PO,则target的值就是PO的属性,source的值就是VO的属性

3、每个Mappings下都必须有单独的po转vo,或vo转po,相应的集合才会有有效,否则,若只有集合转,mapstruct是找不到集合里面的对象的对应属性的。直接报异常。

# mybatis # Dubbo # Git # Https # ELK # Elasticsearch # logstash # Springboot # Nginx # Java # MQ
String常量池
冰灯

冰灯

雁过无痕,敲出人生

23 日志
9 分类
11 标签
RSS
Github StackOverflow
Creative Commons
Links
  • 点滴记录
  • Zero
© 2021 冰灯