使用 MapStruct 将一个 POJO 转换为另一个 POJO

发布于 2025-01-17 06:59:52 字数 343 浏览 1 评论 0原文

我需要使用 MapStruct 将一个 pojo 转换为其他 pojo。

POJO A : 

String A;
String b;
Map <String, Object> section;

POJO B : 

String D;
String E;
String F;
String J; 
String[] H;

对于 D、E,它是一个直接映射,我可以通过映射注释来完成 就像:

@Mapping(source = "a",target = "D")

现在我正在寻找映射到 F、J、H (字符串数组)的转换。

任何可能的线索都会帮助我!

I need to convert from One pojo to Other using MapStruct.

POJO A : 

String A;
String b;
Map <String, Object> section;

POJO B : 

String D;
String E;
String F;
String J; 
String[] H;

for D, E it is a straight map i can do it via Mapping annotation
like :

@Mapping(source = "a",target = "D")

now i'm looking for Map conversion to F, J, H (String Array).

Any possible leads will help me !

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

潦草背影 2025-01-24 06:59:52

能够使用表达式关键字实现

@Mapping(target = "F", expression = "java(returnStringValue(map, inputKeyName))")

default String returnStringValue(Map<String, Object> detailsMap, String inputKey) {
     if (detailsMap.containsKey(inputKey)) {
         return detailsMap.get(inputKey).toString();
     }
     return null;
 }

Able to achieve using expression keyword

@Mapping(target = "F", expression = "java(returnStringValue(map, inputKeyName))")

default String returnStringValue(Map<String, Object> detailsMap, String inputKey) {
     if (detailsMap.containsKey(inputKey)) {
         return detailsMap.get(inputKey).toString();
     }
     return null;
 }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文