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   荣锋亮  阅读(324)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-04-19 转载一篇阿里云Terraform 开发指南
2019-04-19 zabbix 4.2 支持 timescledb 了
2018-04-19 使用distillery 实现版本的动态升级&& 动态降级
2018-04-19 使用distillery 构建专业的 phoenix 项目软件包
2018-04-19 mix deps HEX_HTTP_CONCURRENCY=1 HEX_HTTP_TIMEOUT=120 timeout
2018-04-19 elixir jenkins 集成构建方式配置
2018-04-19 phoenix 使用activerecord模式框架ecto 访问数据库

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示