使用弹簧批来存储空字符串

时间:2016-01-11 08:25:50

标签: spring tabs spring-batch space

我需要读取用分隔符分隔的csv文件并将其存储到SQL DB。我的csv将包含空字符串("")和空值("")。目前,使用spring批处理将所有空值和空字符串存储为SQL中的空字符串。现在我想将空值替换为null而不是空字符串。

1 |拉吉|| | N | N | Y | Y

第三列为空,第四列为空是分隔符。

2 个答案:

答案 0 :(得分:0)

使用Apache StringUtils,您可以在自定义FieldSetMapper中执行以下操作:

if (!StringUtils.isEmpty(yourObject.getField()) && StringUtils.isBlank(yourObject.getField())) {

    yourObject.setField(""); //Empty

} else if (StringUtils.isEmpty(yourObject.getField())) {

    yourObject.setField(null); //Null

}

答案 1 :(得分:0)

干净的解决方案可能会使用注入当前FieldSetFactory的自定义LineTokenizer 在您自己的FieldSetFactory.create(...)设置为null零长度值。