包和测试文件已经上传:
package csv; import java.io.IOException; import java.nio.charset.Charset; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import com.csvreader.CsvReader; import com.csvreader.CsvWriter; public class DB2ExportCsv { /** * 读取CSV文件 * @param con 数据库访问 * @param csvFilePath 文件路径 */ public static void readCsv(String csvFilePath, Connection con){ try { String sql="INSERT INTO app_stock_news(title,external_links,create_time,news_time,stock_code,stock_name,content) VALUES(?,?,?,?,?,?,?)"; PreparedStatement pStatement=con.prepareStatement(sql); ArrayList<String[]> csvList = new ArrayList<String[]>(); //用来保存数据 //生成CsvReader对象,以,为分隔符,GBK编码方式 CsvReader reader = new CsvReader(csvFilePath,',',Charset.forName("gbk")); //一般用这编码读就可以了 reader.readHeaders(); // 跳过表头 如果需要表头的话,不要写这句。 //逐条读取记录,直至读完 while(reader.readRecord()){ csvList.add(reader.getValues()); } reader.close(); for(int row=0;row<csvList.size();row++){ String cell = csvList.get(row)[0]; //取得第row行第0列的数据 System.out.println(cell+" "+ csvList.get(row)[1]+" "+ csvList.get(row)[2]+" "+ csvList.get(row)[3]+" "+ csvList.get(row)[4]); if( csvList.get(row)[0]!=null||csvList.get(row)[1]!=null||csvList.get(row)[2]!=null||csvList.get(row)[3]!=null||csvList.get(row)[4]!=null||csvList.get(row)[5]!=null&&csvList.get(row)[6]!=null){ pStatement.setString(1, csvList.get(row)[1]);//title pStatement.setString(2, csvList.get(row)[2]);//external_links pStatement.setString(3, csvList.get(row)[0]); pStatement.setString(4, csvList.get(row)[5]); pStatement.setString(5, csvList.get(row)[4]); pStatement.setString(6, csvList.get(row)[3]); pStatement.setString(7, csvList.get(row)[6]); pStatement.execute(); }else{ System.out.println("这条数据不全,丢弃.."); } } } catch (Exception ex) { System.out.println(ex); } } // 写入CSV文件,无追加功能,所以每次都得重新写(包括表头): // // 1 CsvWriter wr =new CsvWriter("F://Eclipse//Test//src//info.csv",',',Charset.forName("GBK")); // 2 String[] contents = {"Lily","五一","90","女"}; // 3 wr.writeRecord(contents); // 4 wr.close(); public static void main(String[] args) throws ClassNotFoundException, SQLException { String csvFilePath = "D://jiangwan//jrj_ssgs_11_content11_1.csv"; Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql://LocalHost:3306/tradergem_news", "root","123456"); System.out.println("数据库连接成功!"); readCsv(csvFilePath,con); System.out.println("数据导入完成!"); } }
相关推荐
本项目关注的是如何使用Java编程语言将数据库中的记录导出为CSV(Comma Separated Values)格式的文件。CSV因其通用性和易于处理的特性,被广泛应用于数据交换。 首先,让我们深入了解CSV文件格式。CSV是一种简单的...
本文主要介绍了使用Java实现批量导入.csv文件到MySQL数据库的方法。该方法可以快速地将.csv文件中的数据批量导入到数据库中,具有很高的实用价值。 Java实现批量导入.csv文件到MySQL数据库 在本文中,我们使用Java...
2. **编程语言接口**:通过编程语言如Python、Java、PHP等,可以读取TXT文件并逐行处理,然后使用相应的数据库驱动(如Python的pymysql库)将数据插入到MySQL中。这在处理大量数据时可能较慢,但提供了更大的灵活性...
// 假设使用MySQL数据库 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password"); ``` 然后,可以创建一个`PreparedStatement`对象,用于执行SQL插入语句。...
在IT行业中,批量读取文本文件(如TXT文件)并将其数据导入到数据库是一项常见的任务,特别是在处理大量数据时。这个“批量读取txt文件导入数据库Demo实例”可能是一个示例程序,展示了如何高效地完成这项工作。下面...
综上所述,Java通过Apache Commons CSV或OpenCSV库可以轻松地读取CSV文件,然后借助JDBC、Hibernate或MyBatis等工具将数据存入数据库。了解并掌握这些技能对于处理CSV数据以及进行数据迁移、分析等任务至关重要。在...
在MySQL中,将查询结果导出为CSV文件以及将CSV文件导入到数据库是常见的数据迁移和备份操作。这里我们将详细探讨这两个过程。 首先,我们来看如何导出查询结果到CSV文件。MySQL提供了一个内置的`SELECT ... INTO ...
1. **读取CSV文件**:Java中可以使用`BufferedReader`或者第三方库如Apache Commons CSV、OpenCSV来读取CSV文件。以Apache Commons CSV为例,可以创建`CSVParser`对象解析文件,获取`CSVRecord`对象序列。 2. **...
但是,核心操作步骤已经非常清晰:设置Spark配置、读取CSV文件、处理数据和将数据写入MySQL数据库。 通过以上步骤,我们可以看到利用Spark来处理和分析大规模数据集的威力。它简化了数据处理流程,使得数据科学家和...
首先,我们需要将 Excel 文件中的数据导出为 CSV 文件,然后使用 MySQL 的 LOAD DATA 语句将数据导入到数据库中。 优点:简单、快速,易于实现。 缺点:需要将 Excel 文件中的数据导出为 CSV 文件,并且 LOAD DATA...
本项目"java编写的数据库导入和导出工具"旨在简化这个过程,支持对SQL Server和MySQL数据库进行数据的便捷操作。下面我们将详细探讨相关的Java编程知识点、数据库操作以及可能涉及的库和框架。 1. **Java编程基础**...
本文将详述如何使用Java实现TXT文件与数据库之间的数据导入和导出。 首先,我们来了解一下基础概念。TXT文件是一种常见的文本文件格式,通常用于存储纯文本数据,如表格、日志或简单的数据记录。数据库,如MySQL、...
4. **导入数据**:使用SQL命令(如`LOAD DATA INFILE` in MySQL或`BULK INSERT` in SQL Server)将文件数据批量导入到数据库表中。你需要指定文件路径、分隔符、字段名称等参数。 5. **数据验证**:导入完成后,...
本文将详细探讨如何使用Java解析TXT文件并将其中的数据导入到MySQL数据库中。 首先,我们需要了解的是“建表.sql”文件。这个文件通常包含了创建数据库表的SQL语句,用于定义数据的结构和类型。在本场景下,它可能...
开发者可以使用各种编程语言(如Python、Java、PHP等)轻松读取和解析CSV文件,进而集成到自己的应用程序中。 字段说明.txt文件很可能是对CSV文件中各个字段的解释,包括字段名称、含义以及可能的数据类型。理解...
- 导入数据:将CSV文件的数据批量导入到关系型数据库,如MySQL、PostgreSQL,通常使用SQL的`LOAD DATA INFILE`语句或编程接口(JDBC)实现。 - 导出数据:从数据库查询结果生成CSV文件,通常涉及遍历查询结果集,...
- 编程语言导入:编程语言如Python、Java、R都有相应的库支持CSV文件的读取,例如Python的pandas库可以轻松完成CSV文件的导入并进行数据分析。 3. CSV导出: - 数据库导出:数据库系统通常支持将表格数据导出为...
本篇文章将详细探讨如何使用Java代码来实现这一目标,主要涉及的工具是MySQL数据库。 首先,我们需要理解Java与MySQL的交互,这通常通过JDBC(Java Database Connectivity)来实现。JDBC是Java标准API,它提供了...
7. **性能优化**: 为了加快数据迁移速度,可以考虑使用数据库级别的导出导入工具,如SQL Server的bcp或MySQL的mysqldump,然后再用JAVA进行调用。另外,优化SQL查询,如使用索引,可以显著提升数据提取效率。 8. **...