我需要您的帮助以及使用推土机映射数据的提示。
存在以下情况:
fyi:此数据取决于请求参数“table”。
// exemplary service call
String[] [] result = service.getData (String table);
String[] [] result = service.getData (Enum table);
根据参数表,必须使用另一个目标实体。
示例:
无法更改服务图层。该层始终返回此数据结构。
我的问题是,我对这种情况没有好的起点。
我必须迭代第一个[],然后依赖于参数表,必须进行映射。
// useful way?
List<com.foo.TableA> mappedResult = new ArrayList<com.foo.TableA>();
for (int i = 0; i < result.size ; i++) {
String[] rowData = result[i];
mappedResult.add(mapper.map(rowData; com.foo.TableA.class));
}
// mapping.xml
<mappings>
<mapping>
<class-a>how to configure String[] ? </class-a>
<class-b> com.foo.TableA </class-b>
<field>
<a>src[0] </a> // 1st column
<b>column_id</b>
</field>
<mapping>
</mappings>
欢迎任何提示!
提前谢谢
答案 0 :(得分:0)
为了从String-array访问数据,我使用了一个包装器
public class RowDataWrapper {
private final row[];
public RowDataWrapper (String[] row) {
this.row=row;
}
}
及其在mapping.xml中的用法
<mappings>
<mapping>
<class-a>foo.bar.RowDataWrapper</class-a>
<class-b>com.foo.TableA</class-b>
<field>
<a>row[0] </a> // 1st column
<b>column_id</b>
</field>
<mapping>
</mappings>