0

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

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”开头)。

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

我还使用org.springframework.classify.Classifier该类将每个 bean 分组到相应的作者。

有没有办法做到这一点?

谢谢。

4

1 回答 1

0

您可以查看这个名为Multiline Order的官方论坛主题或 spring-batch 示例。
重点是

  1. 有一个自定义ItemReader<YouBeanClass>委托人ItemReader<FieldSet>负责FieldSet根据记录标题创建权限 ( H,D,T)
  2. 有一个PatternMatchingCompositeLineTokenizer创造权利FieldSet(附在ItemReader<FieldSet>第1点)
  3. 从每个记录范围ItemReader<YouBeanClass>重写ItemReader.read()并建立一个 YourBeanClassH(D+)T

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

于 2013-09-13T05:43:34.877 回答