一尘不染

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

hibernate

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

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

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

谢谢!


阅读 284

收藏
2020-06-20

共1个答案

一尘不染

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

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