easy-batch job mappers

mappers 可以实现输入的record 到领域对象的映射

api 模式

Job job = new JobBuilder()
    .mapper(new MyRecordMapper())
    .build();

提供的映射

 

 


 

 

自定义类型转换

一些recordMapper(DelimitedRecordMapper,FixedLengthRecordMapper,ApacheCommonCsvRecordMapper和JdbcRecordMapper)的原始文本数据转换成键入数据在Java对象。Easy Batch支持所有Java原语和包装器类型。如果要提供自定义类型转换器,则可以实现org.easybatch.core.api.TypeConverter接口,并在使用的记录映射器中注册实现。

定值记录注意事项

如果定界记录格式不正确,则DelimitedRecordMapper在以下情况下引发异常,导致该记录被拒绝:

  • 字段编号不等于CSV RFC
  • 字段不符合数据限定符的预期条件,这意味着DelimitedRecordMapper指定了限定符后,期望所有字段均符合条件。

DelimitedRecordMapper 局限性

DelimitedRecordMapper旨在覆盖分隔的值映射的基本要求。它不支持在限定的字段中检测定界符和换行符。如果需要这些功能,可以使用ApacheCommonCsvRecordMapper或OpenCsvRecordMapper。

固定长度记录注意事项

如果固定长度的记录格式不正确FixedLengthRecordMapper,则会引发异常,导致记录被拒绝。如果固定长度的记录长度不等于预期的记录长度,则格式不正确。

XML记录验证

创建时XmlRecordMapper,您应指定目标域对象类型。如果需要根据Xsd模式验证Xml记录,则可以在创建时指定模式,如下所示:

 
Job job = new JobBuilder()
        .mapper(new XmlRecordMapper(MyPojoType.class, myXsdFile))
        .build();

参考资料

https://github.com/j-easy/easy-batch/wiki/mappers

posted on 2020-04-19 08:45  荣锋亮  阅读(321)  评论(0编辑  收藏  举报

导航