使用 Orika 映射带有日期和时间戳的对象

Mapping objects with Date and Timestamp with Orika

我使用 Orika 来绘制对象。

我想将日期和时间戳字段的格式设置为“yyyy-MM-dd'T'HH:mm:ss.SSSXXX”

对于日期字段,我解决了这个问题:

    @Override
public void configure(final MapperFactory orikaMapperFactory) {

    orikaMapperFactory.getConverterFactory().registerConverter(new DateToStringConverter("yyyy-MM-dd\'T\'HH:mm:ss.SSSXXX"));

    orikaMapperFactory.classMap(OrderDTO.class, Order.class).byDefault().register();
}

但是TimeStamp这个字段我不知道怎么做。

我通过以下方法解决了问题:

public class OrikaTimestampConverter extends CustomConverter<Timestamp, String> {

private final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");

@Override
public String convert(Timestamp source, Type<? extends String> destinationType, MappingContext mappingContext) {

    Date date = new Date(source.getTime());

    return formatter.format(date);
} }

并添加:

orikaMapperFactory.getConverterFactory().registerConverter(new OrikaTimestampConverter());