我需要读取用分隔符分隔的csv文件并将其存储到SQL DB。我的csv将包含空字符串("")和空值("")。目前,使用spring批处理将所有空值和空字符串存储为SQL中的空字符串。现在我想将空值替换为null而不是空字符串。
1 |拉吉|| | N | N | Y | Y
第三列为空,第四列为空是分隔符。
答案 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
零长度值。