java – 如何上传CSV文件然后自动将数据插入数据库?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何上传CSV文件然后自动将数据插入数据库?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2536字,纯文字阅读大概需要4分钟。
内容图文
![java – 如何上传CSV文件然后自动将数据插入数据库?](/upload/InfoBanner/zyjiaocheng/910/e0b65faf6ba24a33a5d303180eb16d7a.jpg)
我有基于Java的Spring MVC应用程序,它也使用Spring安全性.我正在使用hibernate作为此Web应用程序的ORM工具.
以下是我的要求 –
用户可以使用Web浏览器上传CSV文件.已知CSV文件的格式包含以下5个字段:
userId, location, itemId, quantity, tranDate 001, NY, 00A8D5, 2, 12/31/2012 002, MN, 00A7C1, 10, 12/22/2012 . .
像这样大约有100行.
我在项目中使用Super CSV:
private void readWithCsvBeanReader(String CSV_FILENAME) throws Exception {
String CSV_FILENAME = "\\\\Serv01\\Files\\QueryResult.csv";
//String CSV_FILENAME = "C:\\Files\\QueryResult.csv";
ICsvBeanReader beanReader = null;
try {
beanReader = new CsvBeanReader(new FileReader(CSV_FILENAME),
CsvPreference.STANDARD_PREFERENCE);
// the header elements are used to map the values to the bean (names
// must match)
final String[] header = beanReader.getHeader(true);
// get Cell Processor
final CellProcessor[] processors = getProcessors();
这里我正在阅读CSV文件的内容然后使用Hibernate,我正在插入它.
这很好,因为我在本地或在Windows共享上提供CSV路径.
String CSV_FILENAME = "\\\\Serv01\\Files\\QueryResult.csv";
or via this:
String CSV_FILENAME = "C:\\Files\\QueryResult.csv";
>我如何实现此要求,以便使用Spring MVC通过网页上的按钮提供CSV文件路径位置?
>是否也可以从远程位置自动获取文件,以便我将文件上传到FTP位置,然后程序可以连接到远程ftp位置并按计划处理文件?
PS:我是文件操作的新手,如果有人可以指向一些文章那么它会很棒.
解决方法:
like this there are about 100 rows.
不要把CSV保存为tmp文件,因为Spring的Mulitpart会为你做这件事
并直接插入行(请求可能需要更长的时间来处理,但鉴于您目前的表面知识,您可以担心以后优化)
private void readWithCsvBeanReader(MultipartFile uploadedFile) throws Exception {
ICsvBeanReader beanReader = null;
try {
beanReader = new CsvBeanReader(new InputStreamReader(uploadedFile.getInputStream()),
CsvPreference.STANDARD_PREFERENCE);
// the header elements are used to map the values to the bean (names
// must match)
final String[] header = beanReader.getHeader(true);
// get Cell Processor
final CellProcessor[] processors = getProcessors();
让你的控制器像:
@RequestMapping(value = "/add", method=RequestMethod.POST)
public String upload(@RequestParam("file") MultipartFile file) throws IOException {
// call your csv parsing code.
}
确保你的FORM看起来像:
<h1>Add a File for testing</h1>
<form method="post" action="/add" class="well form-vertical" enctype="multipart/form-data">
<input type="file" name="file" />
<button type="submit" class="btn">{{actionLabel}}</button>
</form>
注意enctype
对于输入和输出,您应该了解Java’s IO Decorator pattern.
我建议你尽量简单,以便学习基础知识.然后担心添加更强大的解决方案/库.
内容总结
以上是互联网集市为您收集整理的java – 如何上传CSV文件然后自动将数据插入数据库?全部内容,希望文章能够帮你解决java – 如何上传CSV文件然后自动将数据插入数据库?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。