这是一个抽象的问题:
我有一个系统,每天早上,我得到一个文件,其中包含当前在我公司工作的员工名单。在一天结束时,我得到另一个文件,其中包含更新的员工列表。有些人可能被解雇,有些人被雇用。我需要相应地更新我的数据库。
我该怎么做?
我的解决方案是:在一天结束时,将第一个文件(早上一个)的列表存储到两个集合mSet1和mSet2中。存储Set eSet中第二个文件的列表。所以我们必须删除所有员工mSet1 - (mSet1交集eSet)。我们需要在eSet中添加所有员工 - (mSet1 intersection eSet)。 所以,我会这样做:
执行mSet1.removeAll(eSet)
从数据库中删除mSet1中的所有员工记录
执行eSet.removeAll(mSet2)
将所有记录从eSet插入数据库。
这是对的吗?有更好的方法吗?