【问题标题】:How to select data inside excel sheet insert into the mysql database using sql query?如何使用 sql 查询选择 excel 表中的数据插入到 mysql 数据库中?
【发布时间】:2021-02-23 05:12:41
【问题描述】:

我的 Excel 表中有超过 50,000 行数据。将数据插入数据库表会花费太多时间,因为它在 for 循环中运行(后端的弹簧启动)。有人可以建议我在 sql 查询中将数据从 excel 插入数据库的最佳方法吗?

【问题讨论】:

  • 您使用的是 Spring Data JPA 还是 Spring JDBC?
  • 我们正在使用 JPA
  • 首先从excel中读取数据并添加到POJO列表中并使用repository.saveAll()
  • 感谢您的努力。我能得到你提到的一些问候吗?因为我是这种语言的新手
  • 查看答案

标签: sql spring-boot mysql-workbench


【解决方案1】:

您可以简单地使用 NodeJs 脚本来完成。

请在这个 MySQl 库中找到 Excel 到 MySQL。

https://www.npmjs.com/package/excel-to-mysql

如果你不知道如何设置 NodeJs 环境。

https://www.tutorialspoint.com/nodejs/nodejs_first_application.htm

【讨论】:

  • 感谢您的努力。实际上我们使用 java spring boot 作为后端。所以使用node js是不可能的。
  • 但是我们使用 nodejs 应用在 10 分钟内完成了 100 万行(ram 512, 1 cpu)
【解决方案2】:

您可以使用批量插入来实现

例如。 Excel 有类似的列

雇员Name, Email, Username, Address

你需要像下面这样创建 POJO 类

public class Employee {
      String Name;
      String Email;
      String Username;
      String Address;
}

获取记录到 POJO,然后使用 Spring saveAll 方法存储所有记录。

ArrayList<Employee> excelData = getRecordsfromExcel();
employeeResposity.saveAll(excelData);

所有记录都保存在数据库中。

注意: 这适用于所有插入,不适用于您需要以不同方式处理的更新

【讨论】:

    猜你喜欢
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    相关资源
    最近更新 更多