当前位置: 首页 > 面试题库 >

如何从hibernate + spring应用程序将csv文件导入到mysql中?

邢乐
2023-03-14
问题内容

我想将csv文件导入到mysql表中。我进行导入的原因是因为我有很多大文件,它们在短时间内发送到我的服务器,尝试用Java逐行添加,但是遇到了很多不同的错误,例如hibernate异常或Java挂起(如果文件是太大。导入非常快,资源很少,效果很好。但是我不知道如何通过hibernate的HQL构建查询来执行此操作,例如:

LOAD DATA INFILE '"+filename+
    "' INTO TABLE testtable (text,price);

如果无法做到这一点,那么我该如何从执行此操作的方法中运行shellscript呢?

谢谢!


问题答案:

不确定我是否有足够的信息来完全回答您的问题,但是Hibernate的Native Query工具可能会让您以这种方式加载文件。

session.createSQLQuery("LOAD DATA INFILE :filename INTO TABLE testtable (text,price)").setString("filename", "/path/to/MyFile.csv").executeUpdate();


 类似资料:
  • 如何将CSV文件导入MySQL表?我想把第一行数据用作列名。 我读到如何将CSV文件导入MySQL表?,但是唯一的答案是使用GUI而不是shell?

  • 问题内容: 我有以下结构的csv文件: 使用以下MySQL函数如何导入MySQL表的第一和第三列: 我为我的英语道歉! 提前致谢 ! 问题答案: 您可以指定列,并将不需要的列标记为“ @dummy”。 替换,并且只要你喜欢。要设置不在数据文件中的其他列,您可以这样做: 作为进一步的参考,我建议您看一下MySQL参考。

  • 问题内容: 我有一个CSV文件。它包含140万行数据,因此我无法在Excel中打开该csv文件,因为其限制约为100万行。 因此,我想将此文件导入MySQL工作台中。此csv文件包含以下列 我正在尝试在MySQL工作台中创建一个名为“虚拟”的表,其中包含诸如 CSV文件名为。我在工作台中的代码是这样的: 但我收到类似的错误 问题答案: 我想您缺少ENCLOSED BY子句 并指定csv文件的完整路

  • 问题内容: 更新 在我发布此问题之后的第二秒,由于对结果查询的语法突出显示,我看到了出了什么问题:该字符串未以闭合斜线开头。现在我将其更改为: 但是,这提出了一个新问题:为什么PDO对象没有为此向我吐出错误?手动执行查询肯定会返回一个错误,指出没有名为的字段,最后是逗号。为什么我没有收到任何错误?有任何想法吗? PS:关于解决我的问题的SO语法突出显示方面有什么想法吗?:-) 我将原始问题留作参考

  • 问题内容: 我想将csv文件导入到mysql中。 http://www.tech- recipes.com/rx/2345/import_csv_file_direct_into_mysql/ 但是csv中的列名称与数据库表中的列名称不同,我该怎么办?我想以编程方式来做。 问题答案: 您可以创建一个脚本来解析您的csv文件并将数据放入db。 就像是:

  • 我在公用文件夹中有一个javascript文件,我想将该文件导入src/components文件夹中的组件。 但我不能在我的组件中做这样的事情: 因为我得到了以下错误: 找不到模块:您试图导入项目src/目录之外的.../.../public/recorder。不支持src/之外的相对导入。您可以将其移动到src/中,也可以从项目的node_modules/中添加符号链接。 据我所知,它不允许在