如何上传、提取、存储.csv数据到服务器并传输到mysql
简而言之:如何将 zipful csv 数据放入 mysql 中?
Long:我必须为管理员创建一个功能来上传 Java Web 应用程序的引导数据。管理员应该能够在管理页面上上传单个 csv zip 文件。该代码需要解压缩 csv,并且数据必须传输并保存在 mysql 数据库中。
我知道我可以使用“load infile csv”准备sql脚本,将数据从csv(保存在我的网络应用程序的特定目录中)传输到mysql。对于例如使用: 将数据内文件“/home/mysql/data/my_table.csv”加载到表 my_table 中,字段由 ',' 终止,行由 '\n' 终止;
我还认为我可以接受并执行我创建的包含上述 sql 的 .sql 文件。我计划使用 http://pastebin.com/f10584951 : com.ibatis.common.jdbc.ScriptRunner 类的修改版本。
但我不知道如何解压缩上传的 zip 并将文件(.CSV)存储在我的 sql 语句可以访问的特定目录中的第一步。
如果您能告诉我如何使用条纹执行上述操作,那就太好了,因为它是我采用的框架,但普通的 servlet/jsp 2 等也会有所帮助。
多谢 :)
In short: how to put a zipful of csv data into mysql?
Long: I have to create a functionality for an admin to upload bootstrap data for a java web application. The administrator should be able to upload a single zip file of csvs on the admin page. The code needs to unzip csvs and the data must be transferred saved in a mysql DB.
I know I can prepare sql scripts with 'load infile csv' to transfer the data from csv(saved in a specific directory in my web app) to mysql. For egs using:
LOAD DATA INFILE "/home/mysql/data/my_table.csv" INTO TABLE my_table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
I also think I can accept and execute .sql files I create containing above sql. I plan to use http://pastebin.com/f10584951 :
modified version of the com.ibatis.common.jdbc.ScriptRunner class .
But I don't know the first step of how to unzip an uploaded zip and store the files(.CSVs) in a specific directory that my sql statements can access.
It would be great if you can tell me how to do the above with stripes, as it is the framework i have adopted, but normal servlet/jsp 2 etc will be helpful too.
Thanks a lot :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 java.util.zip 解压缩 CSV 文件。请参阅此处的示例。
对于上传文件,我推荐 Apache Commons FileUpload
You can use java.util.zip for unzipping the CSV file. See an example here.
For uploading the file I recommend Apache Commons FileUpload