程序包 com.walker.di

接口 DataImportor

所有已知实现类:
AbstractDataImportor, InputStreamDataImportor

public interface DataImportor
数据导入器定义。

可用于导入外部资源到目标位置,如:
     1)从csv导入到数据库表
     2)从数据库到数据库表
     3)其他等
 
该对象为有状态,需要在每次使用时创建实例,并调用实例的load方法。
作者:
时克英
  • 方法概要

    修饰符和类型
    方法
    说明
    返回批量加载错误,因为会多次持续执行,因此有可能整个过程执行完才能获得结果。
    long
    返回批量加载的数量。
    返回导入错误结果文件路径,如: d:/file/12344566_error.csv
    获取导入数据的列名字集合。
    导入唯一标识,由业务确定,在导入错误时,运行把错误结果重新导入
    long
    返回已经成功导入数量。
    boolean
    是否支持批量导入,对于大数据量导入会提高效率。
    boolean
    是否支持断点续传(导入),如果支持,引擎会记录导入位置,并在下次重新导入时,从该位置开始。
    void
    加载并导入数据,业务调用该方法完成导入具体操作。
    void
    设置允许批量导入,使用默认参数。
    void
    setBatchSize(long batchSize)
    设置批量导入的数量,默认不能超过:512
    void
    setBatchSleepMills(long millSeconds)
    设置批量导入时,每次保存间隔线程休眠时间,如果为0表示不休息。
    void
    setBrokenContinue(boolean allow)
    设置是否支持断点续传(导入)
    void
    setBrokenId(String brokenId)
    设置断点续传的标识,用于告知引擎需要使用该功能。
    void
    setFieldNames(List<String> fieldNames)
    设置导入数据列名字
    void
    setHeadRowNumber(int headRowNumber)
    设置导入数据中,表头有几行,支持多行表头。
    void
     
    void
    setIgnoreRows(int number)
    设置导入数据时,忽略的行数。
    void
    setSaveFileFolder(String saveFileFolder)
    设置保存文件的文件夹路径,如: d:/file/
    void
    setShowError(boolean showError)
    设置'是否显示错误结果文件',如果显示则会为用户提供导入错误的结果文件。
    void
    设置数据更新方式,如果在导入时需要判断数据是否存在,则可以设置该更新策略。
  • 方法详细资料

    • load

      void load() throws DataImportException
      加载并导入数据,业务调用该方法完成导入具体操作。
      抛出:
      DataImportException
    • isBatchSupport

      boolean isBatchSupport()
      是否支持批量导入,对于大数据量导入会提高效率。

      此时导入策略会启用批量加载并小块写入方式,避免内存溢出并提高效率。

      返回:
    • isBrokenContinue

      boolean isBrokenContinue()
      是否支持断点续传(导入),如果支持,引擎会记录导入位置,并在下次重新导入时,从该位置开始。

      但这需要提供唯一标识以确定要使用断点功能,
      返回:
    • setBatchEnabled

      void setBatchEnabled()
      设置允许批量导入,使用默认参数。
    • setBatchSize

      void setBatchSize(long batchSize)
      设置批量导入的数量,默认不能超过:512
      参数:
      batchSize -
    • setBrokenContinue

      void setBrokenContinue(boolean allow)
      设置是否支持断点续传(导入)
      参数:
      allow -
    • setBrokenId

      void setBrokenId(String brokenId)
      设置断点续传的标识,用于告知引擎需要使用该功能。
      参数:
      brokenId -
    • getFieldNames

      List<String> getFieldNames()
      获取导入数据的列名字集合。
      返回:
    • setFieldNames

      void setFieldNames(List<String> fieldNames)
      设置导入数据列名字
      参数:
      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

      void setId(String id)
    • getErrorFile

      String getErrorFile()
      返回导入错误结果文件路径,如: d:/file/12344566_error.csv
      返回:
    • setShowError

      void setShowError(boolean showError)
      设置'是否显示错误结果文件',如果显示则会为用户提供导入错误的结果文件。
      参数:
      showError -
    • setSaveFileFolder

      void setSaveFileFolder(String saveFileFolder)
      设置保存文件的文件夹路径,如: d:/file/
      参数:
      saveFileFolder -
    • setHeadRowNumber

      void setHeadRowNumber(int headRowNumber)
      设置导入数据中,表头有几行,支持多行表头。
      参数:
      headRowNumber -
    • setUpdateType

      void setUpdateType(UpdateType updateType)
      设置数据更新方式,如果在导入时需要判断数据是否存在,则可以设置该更新策略。

      目前支持两种: 忽略、覆盖。
      参数:
      updateType -