如何在JAVA中解析CSV文件并写入mySQL dB

时间:2014-04-21 20:29:09

标签: java mysql csv jdbc wavemaker

首先,值得一提的是我是JAVA编码的新手,如果我的问题看起来很简单,那就很抱歉。

我正在使用Wavemaker,我正在尝试弄清楚如何从客户端中进行选择并解析CSV文件并将该数据写入MySQL数据库。

我做了一些研究,看起来Wavemaker有一个内置的JDBC驱动程序,能够做到这一点,但我不知道我怎么也找不到任何有用的例子。

我已尝试在附加网址上使用该示例,但在选择文件后,我收到错误消息“文件无法上传:方法”importData“(”1“args)在服务”class automateImport“中找不到。

http://www.java-tips.org/other-api-tips/jdbc/import-data-from-txt-or-csv-files-into-mysql-database-t-2.html

这是我的代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class automateImport
{
public static void main(String[] args) 
{
    DBase db = new DBase();
    Connection conn = db.connect("jdbc:mysql://localhost:3306/test","root","root");
    db.importData(conn,args[0]);
}
}

class DBase
{
public DBase()
{
}

public Connection connect(String db_connect_str, String db_userid, String db_password)
{
    Connection conn;
    try 
    {
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        conn = DriverManager.getConnection(db_connect_str, db_userid, db_password);
    }
    catch(Exception e)
    {
        e.printStackTrace();
        conn = null;
    }

    return conn;    
}

public void importData(Connection conn,String filename)
{
    Statement stmt;
    String query;

    try
    {
        stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

        query = "LOAD DATA INFILE '"+filename+"' INTO TABLE testtable (text,price);";
        stmt.executeUpdate(query);

    }
    catch(Exception e)
    {
        e.printStackTrace();
        stmt = null;
    }
}
}; 

非常感谢任何帮助。

此致 百里

0 个答案:

没有答案