`
qq_24665727
  • 浏览: 120991 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java使用javacsv读取csv文件 导入Mysql数据库

阅读更多

包和测试文件已经上传:

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("数据导入完成!");
	}
    
} 

 

 

  • 大小: 52.7 KB
  • lib.zip (433 KB)
  • 下载次数: 29
0
0
分享到:
评论

相关推荐

    用JAVA将数据库导入csv程序

    本项目关注的是如何使用Java编程语言将数据库中的记录导出为CSV(Comma Separated Values)格式的文件。CSV因其通用性和易于处理的特性,被广泛应用于数据交换。 首先,让我们深入了解CSV文件格式。CSV是一种简单的...

    java实现批量导入.csv文件到mysql数据库

    本文主要介绍了使用Java实现批量导入.csv文件到MySQL数据库的方法。该方法可以快速地将.csv文件中的数据批量导入到数据库中,具有很高的实用价值。 Java实现批量导入.csv文件到MySQL数据库 在本文中,我们使用Java...

    TXT文件数据导入到mysql数据库

    2. **编程语言接口**:通过编程语言如Python、Java、PHP等,可以读取TXT文件并逐行处理,然后使用相应的数据库驱动(如Python的pymysql库)将数据插入到MySQL中。这在处理大量数据时可能较慢,但提供了更大的灵活性...

    java把文本文件内容导入到数据库

    // 假设使用MySQL数据库 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password"); ``` 然后,可以创建一个`PreparedStatement`对象,用于执行SQL插入语句。...

    批量读取txt文件导入数据库Demo实例

    在IT行业中,批量读取文本文件(如TXT文件)并将其数据导入到数据库是一项常见的任务,特别是在处理大量数据时。这个“批量读取txt文件导入数据库Demo实例”可能是一个示例程序,展示了如何高效地完成这项工作。下面...

    JAVA导入CSV文件

    综上所述,Java通过Apache Commons CSV或OpenCSV库可以轻松地读取CSV文件,然后借助JDBC、Hibernate或MyBatis等工具将数据存入数据库。了解并掌握这些技能对于处理CSV数据以及进行数据迁移、分析等任务至关重要。在...

    mysql实现查询结果导出csv文件及导入csv文件到数据库操作

    在MySQL中,将查询结果导出为CSV文件以及将CSV文件导入到数据库是常见的数据迁移和备份操作。这里我们将详细探讨这两个过程。 首先,我们来看如何导出查询结果到CSV文件。MySQL提供了一个内置的`SELECT ... INTO ...

    csv导入数据库 java源代码

    1. **读取CSV文件**:Java中可以使用`BufferedReader`或者第三方库如Apache Commons CSV、OpenCSV来读取CSV文件。以Apache Commons CSV为例,可以创建`CSVParser`对象解析文件,获取`CSVRecord`对象序列。 2. **...

    spark解析csv文件,存入数据库

    但是,核心操作步骤已经非常清晰:设置Spark配置、读取CSV文件、处理数据和将数据写入MySQL数据库。 通过以上步骤,我们可以看到利用Spark来处理和分析大规模数据集的威力。它简化了数据处理流程,使得数据科学家和...

    将Excel数据导入mysql数据库的几种方案.pdf

    首先,我们需要将 Excel 文件中的数据导出为 CSV 文件,然后使用 MySQL 的 LOAD DATA 语句将数据导入到数据库中。 优点:简单、快速,易于实现。 缺点:需要将 Excel 文件中的数据导出为 CSV 文件,并且 LOAD DATA...

    java编写的数据库导入和导出工具

    本项目"java编写的数据库导入和导出工具"旨在简化这个过程,支持对SQL Server和MySQL数据库进行数据的便捷操作。下面我们将详细探讨相关的Java编程知识点、数据库操作以及可能涉及的库和框架。 1. **Java编程基础**...

    java导入txt到数据库 从数据库导出txt

    本文将详述如何使用Java实现TXT文件与数据库之间的数据导入和导出。 首先,我们来了解一下基础概念。TXT文件是一种常见的文本文件格式,通常用于存储纯文本数据,如表格、日志或简单的数据记录。数据库,如MySQL、...

    本地文件导入数据库(含备份和删除)

    4. **导入数据**:使用SQL命令(如`LOAD DATA INFILE` in MySQL或`BULK INSERT` in SQL Server)将文件数据批量导入到数据库表中。你需要指定文件路径、分隔符、字段名称等参数。 5. **数据验证**:导入完成后,...

    Java解析txt文件到数据库

    本文将详细探讨如何使用Java解析TXT文件并将其中的数据导入到MySQL数据库中。 首先,我们需要了解的是“建表.sql”文件。这个文件通常包含了创建数据库表的SQL语句,用于定义数据的结构和类型。在本场景下,它可能...

    最新手机号码归属地数据库(sql导入+csv格式化文件)

    开发者可以使用各种编程语言(如Python、Java、PHP等)轻松读取和解析CSV文件,进而集成到自己的应用程序中。 字段说明.txt文件很可能是对CSV文件中各个字段的解释,包括字段名称、含义以及可能的数据类型。理解...

    CSV文件操作

    - 导入数据:将CSV文件的数据批量导入到关系型数据库,如MySQL、PostgreSQL,通常使用SQL的`LOAD DATA INFILE`语句或编程接口(JDBC)实现。 - 导出数据:从数据库查询结果生成CSV文件,通常涉及遍历查询结果集,...

    Csv导入导出.rar

    - 编程语言导入:编程语言如Python、Java、R都有相应的库支持CSV文件的读取,例如Python的pandas库可以轻松完成CSV文件的导入并进行数据分析。 3. CSV导出: - 数据库导出:数据库系统通常支持将表格数据导出为...

    java代码操作数据转移,把一个数据库里的东西移动到另一个数据库,自动建库建表

    本篇文章将详细探讨如何使用Java代码来实现这一目标,主要涉及的工具是MySQL数据库。 首先,我们需要理解Java与MySQL的交互,这通常通过JDBC(Java Database Connectivity)来实现。JDBC是Java标准API,它提供了...

    JAVA实现跨数据库服务器数据导出导入功能

    7. **性能优化**: 为了加快数据迁移速度,可以考虑使用数据库级别的导出导入工具,如SQL Server的bcp或MySQL的mysqldump,然后再用JAVA进行调用。另外,优化SQL查询,如使用索引,可以显著提升数据提取效率。 8. **...

Global site tag (gtag.js) - Google Analytics