我想将一个csv文件导入到mysql表中。我做导入的原因是因为我有很多大文件,这些文件在很短的时间间隔内发送到我的服务器,尝试用java逐行添加,但是得到了一堆不同的错误,比如hibernate异常或java挂起的文件是太大。进口工作非常快,非常好,资源非常少。但我不知道如何通过hibernate的HQL构建查询来执行此操作,例如:
LOAD DATA INFILE '"+filename+
"' INTO TABLE testtable (text,price);
如果不能这样做,那么如何从执行此操作的方法运行一个shellcript?
谢谢!
答案 0 :(得分:3)
不确定我是否有足够的信息来完全回答您的问题,但Hibernate的Native Query工具可能会让您以这种方式加载文件。
session.createSQLQuery("LOAD DATA INFILE :filename INTO TABLE testtable (text,price)").setString("filename", "/path/to/MyFile.csv").executeUpdate();