Java 将文件中的数据加载到Maria DB表时出现问题

Java 将文件中的数据加载到Maria DB表时出现问题,java,jdbc,mariadb,Java,Jdbc,Mariadb,我正在识别文件夹中的文件,然后选择该文件并使用BufferedReader读取该文件,然后逐行读取,将该行转换为ArrayList对象(这需要很多时间,因为它有50列),并准备一个preparedstatement并将其添加到批中,一旦我将4000条记录添加到批中,我们将数据提交到表中。所有这些过程都需要时间,因为这是从文件中读取数据并将其插入表中,所以我采用了以下方法: 1) 迭代文件中的每一行,并将每一行作为字符串对象放入列表中(假设列表的大小为93000)。 2) 将列表分成子列表(每个子

我正在识别文件夹中的文件,然后选择该文件并使用BufferedReader读取该文件,然后逐行读取,将该行转换为ArrayList对象(这需要很多时间,因为它有50列),并准备一个preparedstatement并将其添加到批中,一旦我将4000条记录添加到批中,我们将数据提交到表中。所有这些过程都需要时间,因为这是从文件中读取数据并将其插入表中,所以我采用了以下方法: 1) 迭代文件中的每一行,并将每一行作为字符串对象放入列表中(假设列表的大小为93000)。 2) 将列表分成子列表(每个子列表大小为4000),这意味着我们得到24个子列表。 3) 我已经使用Callable接口和Executor框架创建了线程。 4) 我将每个子列表传递给一个线程,这意味着在我的例子中它是24个线程。 5) 每个线程将子列表中的每个字符串对象转换为prepared语句,并在添加4000k记录后将其添加到批处理和提交中

问题是:

加载文件时,有时某些记录未加载,有时记录正确加载到表中。 ->当我多次运行它时,有时只会丢失5条记录,有时会丢失1000条,有时会丢失3230条,有时会丢失100%的正确加载。 ->有人能帮我理解一下,为什么会有这种行为

  • 创建一个镜像文件结构的表
  • 使用
    加载数据填充…
    读取文件并填充该表
  • 使用查询来处理数据
  • 查看数据,看它是否“正确”
  • 将数据复制到所需的目标
  • 删除此处使用的表格
  • 无循环、无批处理、无文件读取、无数组、无迭代。
    所有SQL。

    1)读取完整文件-启动错误