Skip to content
eddyzhou edited this page Mar 7, 2012 · 2 revisions

很久之前写的一个将文件数据导入db的组件

提供同步和异步导入接口,将csv文件或者txt文件的数据导入db

文件与表的对应关系由配置文件配置,可参考fileimport包resource目录下的xml配置文件

文件导入的处理流程为:先创建一张临时表,将数据导入到临时表,然后将临时表merge到要导入的表,删除临时表,这样可以保证数据的完整性,所以可能需要提供创建临时表和将数据从临时表merge到你需要导入的表的存储过程

之所以创建临时表,是为了保证数据完整性及性能的考虑,大数据量导入时,为了考虑性能,每1000条数据(暂定)commit一次,若再第N次commit前发生数据库异常,这样就会破坏数据完整性,用临时表就可以解决这个问题,将所有导入的数据 merge到要导入的表后,drop临时表。这样性能也会有很大提高,对目标表的操作只是一次merge而已。导入时有异常数据,则写入错误文件。

Clone this wiki locally