我正在寻找一种在数据库中插入三个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’开头)。
在将行传递给Processor类之前,我已经使用org.springframework.batch.item.file.transform.LineAggregator类对行进行了分组。我的疑问是如何使用头+数据+尾信息在数据库中插入一行。如何在数据库中将头部、数据和尾部信息保存在同一条记录中。
我还使用org.springframework.classify.Classifier类将每个bean分组到其相应的编写器。
有没有办法做到这一点?
谢谢。
发布于 2013-09-13 13:43:35
您可以查看名为Multiline Order的this官方论坛线程或spring-batch示例。
重点是
ItemReader<YouBeanClass>委派给ItemReader<FieldSet>,该委派负责根据记录头创建正确的FieldSet (H,D,T)PatternMatchingCompositeLineTokenizer以创建正确的FieldSet (在第1点附加到ItemReader<FieldSet> )重写D16中的H114,并根据每个记录范围H218构建YourBeanClass
之后,您就有了一个完全构造的YourBeanClass对象。
https://stackoverflow.com/questions/18770833
复制相似问题