首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Spring Batch在数据库中为多个记录格式插入一行

使用Spring Batch在数据库中为多个记录格式插入一行
EN

Stack Overflow用户
提问于 2013-09-13 01:37:11
回答 1查看 604关注 0票数 0

我正在寻找一种在数据库中插入三个bean的方法。这是我的CSV文件的一个示例:

代码语言:javascript
复制
H;001;2013-10-30;20;R;2013-10;DESP;2;foobar
D;003;3030;3032;2013-10;G;400;00001233399911;something
D;003;3030;3033;2013-10;A;100;00001233399912;something else
D;003;3030;3034;2013-10;V;500;00001233399913;something new
T;1;503.45

它有一个头部,N行数据(以‘D’开头)和一个尾部(以‘T’开头)。

在将行传递给Processor类之前,我已经使用org.springframework.batch.item.file.transform.LineAggregator类对行进行了分组。我的疑问是如何使用头+数据+尾信息在数据库中插入一行。如何在数据库中将头部、数据和尾部信息保存在同一条记录中。

我还使用org.springframework.classify.Classifier类将每个bean分组到其相应的编写器。

有没有办法做到这一点?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-09-13 13:43:35

您可以查看名为Multiline Orderthis官方论坛线程或spring-batch示例。

重点是

  1. 有一个自定义的ItemReader<YouBeanClass>委派给ItemReader<FieldSet>,该委派负责根据记录头创建正确的FieldSet (H,D,T)
  2. have PatternMatchingCompositeLineTokenizer以创建正确的FieldSet (在第1点附加到ItemReader<FieldSet> )

重写D16中的H114,并根据每个记录范围H218构建YourBeanClass

之后,您就有了一个完全构造的YourBeanClass对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18770833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档