【问题标题】:Set optional fields in Spring Batch to LineMapper将 Spring Batch 中的可选字段设置为 LineMapper
【发布时间】:2022-06-30 18:34:56
【问题描述】:
 private LineMapper<CSVFileRequest> lineMapper() {
        DefaultLineMapper<CSVFileRequest> lineMapper = new DefaultLineMapper<>();
        DelimitedLineTokenizer lineTokenizer = new DelimitedLineTokenizer();
        lineTokenizer.setDelimiter(",");
        lineTokenizer.setStrict(false);
        lineTokenizer.setNames("caller_id","order_id","shipment","amount","acc_num","due_date");


        BeanWrapperFieldSetMapper<CSVFileRequest> fieldSetMapper = new BeanWrapperFieldSetMapper<>();
        fieldSetMapper.setTargetType(CSVFileRequest.class);


        lineMapper.setLineTokenizer(lineTokenizer);
        lineMapper.setFieldSetMapper(fieldSetMapper);
        return lineMapper;

    }

如何设置自定义字段,例如在给定的 CSV 文件中,我没有其他列,在 csv 文件中只有列,这里的数据要插入到两个不同的表中,一个属于caller_id 和 other 属于所有其他字段,现在的问题是我怎么知道,其他字段是否在 csv 文件中给出。

【问题讨论】:

    标签: java spring spring-boot spring-batch


    【解决方案1】:

    你可以通过setIncluded来设置

    lineTokenizer.setIncludedFields(new int[] {0,1,2});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-10
      • 1970-01-01
      • 2018-06-23
      • 2017-03-16
      相关资源
      最近更新 更多