程序包 com.walker.di
接口 DataImportor
- 所有已知实现类:
AbstractDataImportor,InputStreamDataImportor
public interface DataImportor
数据导入器定义。
可用于导入外部资源到目标位置,如:
1)从csv导入到数据库表
2)从数据库到数据库表
3)其他等
该对象为有状态,需要在每次使用时创建实例,并调用实例的load方法。- 作者:
- 时克英
-
方法概要
修饰符和类型方法说明返回批量加载错误,因为会多次持续执行,因此有可能整个过程执行完才能获得结果。long返回批量加载的数量。返回导入错误结果文件路径,如: d:/file/12344566_error.csv获取导入数据的列名字集合。getId()导入唯一标识,由业务确定,在导入错误时,运行把错误结果重新导入long返回已经成功导入数量。boolean是否支持批量导入,对于大数据量导入会提高效率。boolean是否支持断点续传(导入),如果支持,引擎会记录导入位置,并在下次重新导入时,从该位置开始。voidload()加载并导入数据,业务调用该方法完成导入具体操作。void设置允许批量导入,使用默认参数。voidsetBatchSize(long batchSize) 设置批量导入的数量,默认不能超过:512voidsetBatchSleepMills(long millSeconds) 设置批量导入时,每次保存间隔线程休眠时间,如果为0表示不休息。voidsetBrokenContinue(boolean allow) 设置是否支持断点续传(导入)voidsetBrokenId(String brokenId) 设置断点续传的标识,用于告知引擎需要使用该功能。voidsetFieldNames(List<String> fieldNames) 设置导入数据列名字voidsetHeadRowNumber(int headRowNumber) 设置导入数据中,表头有几行,支持多行表头。voidvoidsetIgnoreRows(int number) 设置导入数据时,忽略的行数。voidsetSaveFileFolder(String saveFileFolder) 设置保存文件的文件夹路径,如: d:/file/voidsetShowError(boolean showError) 设置'是否显示错误结果文件',如果显示则会为用户提供导入错误的结果文件。voidsetUpdateType(UpdateType updateType) 设置数据更新方式,如果在导入时需要判断数据是否存在,则可以设置该更新策略。
-
方法详细资料
-
load
加载并导入数据,业务调用该方法完成导入具体操作。 -
isBatchSupport
boolean isBatchSupport()是否支持批量导入,对于大数据量导入会提高效率。 此时导入策略会启用批量加载并小块写入方式,避免内存溢出并提高效率。- 返回:
-
isBrokenContinue
boolean isBrokenContinue()是否支持断点续传(导入),如果支持,引擎会记录导入位置,并在下次重新导入时,从该位置开始。 但这需要提供唯一标识以确定要使用断点功能,- 返回:
-
setBatchEnabled
void setBatchEnabled()设置允许批量导入,使用默认参数。 -
setBatchSize
void setBatchSize(long batchSize) 设置批量导入的数量,默认不能超过:512- 参数:
batchSize-
-
setBrokenContinue
void setBrokenContinue(boolean allow) 设置是否支持断点续传(导入)- 参数:
allow-
-
setBrokenId
设置断点续传的标识,用于告知引擎需要使用该功能。- 参数:
brokenId-
-
getFieldNames
获取导入数据的列名字集合。- 返回:
-
setFieldNames
设置导入数据列名字- 参数:
fieldNames-
-
getBatchSize
long getBatchSize()返回批量加载的数量。- 返回:
-
getBatchError
String getBatchError()返回批量加载错误,因为会多次持续执行,因此有可能整个过程执行完才能获得结果。需要测试- 返回:
-
setIgnoreRows
void setIgnoreRows(int number) 设置导入数据时,忽略的行数。 有时导入文件第一个可能是说明行,需要忽略,该方法可设置忽略多少行(这些行不导入)。- 参数:
number-
-
setBatchSleepMills
void setBatchSleepMills(long millSeconds) 设置批量导入时,每次保存间隔线程休眠时间,如果为0表示不休息。- 参数:
millSeconds- 毫秒值
-
getSuccessSize
long getSuccessSize()返回已经成功导入数量。- 返回:
-
getId
String getId()导入唯一标识,由业务确定,在导入错误时,运行把错误结果重新导入- 返回:
-
setId
-
getErrorFile
String getErrorFile()返回导入错误结果文件路径,如: d:/file/12344566_error.csv- 返回:
-
setShowError
void setShowError(boolean showError) 设置'是否显示错误结果文件',如果显示则会为用户提供导入错误的结果文件。- 参数:
showError-
-
setSaveFileFolder
设置保存文件的文件夹路径,如: d:/file/- 参数:
saveFileFolder-
-
setHeadRowNumber
void setHeadRowNumber(int headRowNumber) 设置导入数据中,表头有几行,支持多行表头。- 参数:
headRowNumber-
-
setUpdateType
设置数据更新方式,如果在导入时需要判断数据是否存在,则可以设置该更新策略。 目前支持两种: 忽略、覆盖。- 参数:
updateType-
-