【发布时间】:2008-10-11 15:21:54
【问题描述】:
我在 excel 文件(和 csv 文件)中有大量数据。数据需要放入数据库(mysql)中。但是,在它进入数据库之前需要对其进行处理。例如,如果第 1 列小于第 3 列,则将 4 添加到第 2 列。在持久化信息之前必须遵循很多规则。
完成这项任务的最佳设计是什么? (使用java)
补充说明
这个过程需要自动化。从某种意义上说,我不必手动进入并更改数据。我们谈论的是数千行数据,每行包含 15 列信息。
目前,我建立了一种责任链设计。每个规则一个类(Java)。当一个规则完成时,它会调用以下规则。
更多信息
通常每个数据表大约有 5000 行。速度不是一个大问题,因为 这种大的输入并不经常发生。
我考虑过流口水,但我不确定任务是否复杂到流口水。
示例规则:
所有货币(特定列中的数据)不得包含货币符号。
类别名称必须统一(例如,书柜 = 书柜)
输入日期不能是未来日期
文本输入只能包含[A-Z 0-9 \s]
等等..
此外,如果任何一列信息无效,则需要在何时报告
处理完成
(或者可能停止处理)。
我当前的解决方案有效。但是我认为还有改进的空间,所以我正在寻找 关于如何改进以及其他人如何处理类似问题的理想 情况。
我曾考虑过(非常简短地)使用 drools,但我不确定这项工作是否足够复杂以利用 drools。
【问题讨论】:
标签: java design-patterns chain-of-responsibility