有如下格式的csv文件:序号 考号         姓名 性别 身份证 专业 缴费金额
5 1076134121 王 女 33333 艺术 126.00
9 1077734120 朱 女 3082X 艺术 326.00
10 1088134124 郭 女 62720 艺术 126.00
19 1023651083 朱 女 6072X 艺术 126.00
20 1068541006 何 女 01387 艺术 326.00现在想将数据(从第二行开始)导入mysql中,请问怎么导?麻烦高手给段完整的代码!谢谢!

解决方案 »

  1.   

    我的最傻的就是解析csv文件,然后把记录插入数据库中。
      

  2.   

    不过一般数据库都可以识别csv文件,为什么还要通过java呢?
      

  3.   

    http://topic.csdn.net/u/20080902/22/4fd782e6-2b57-471e-862d-038875dd04e8.html
      

  4.   


    谢谢,不过我现在需要一段Java类来处理csv文件。
      

  5.   


    String filePath = "D:\\bbb.csv";
    BufferedReader bufferedReader = null;
    Connection  conn = null;
    String driver = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/test";
    try {
    Class.forName(driver);
     conn =  DriverManager.getConnection(url, "root", "123456");

    bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath)));
    String line = null;
    while ((line = bufferedReader.readLine()) != null) {
    String[] columns = line.split(",");
    if(columns[0].trim().equalsIgnoreCase("序号")){
    continue;
    }
     PreparedStatement pstmt = conn.prepareStatement("insert into test(xh,kaohao,name,sex,sfz,zy,xf)values(?,?,?,?,?,?,?)");
     pstmt.setString(1, columns[0]);
     pstmt.setString(2, columns[1]);
     pstmt.setString(3, columns[2]);
     pstmt.setString(4, columns[3]);
     pstmt.setString(5, columns[4]);
     pstmt.setString(6, columns[5]);
     pstmt.setString(7, columns[6]);
     pstmt.executeUpdate();
    }
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally{
    try {
    conn.close();
    bufferedReader.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
      

  6.   

     String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gb2312 
      

  7.   

    useUnicode=true&characterEncoding=gb2312 加上了没有效果还是“???”改成utf-8也不行
      

  8.   

    你mysql安装的时候用什么编码
      

  9.   

    utf-8,我别的程序插入这个表都是中文。
      

  10.   

    csv 格式要改
    跟execl格式差不多
    有的要空几行看情况
      

  11.   

    我测试时,mysql也是utf-8
     String url = "jdbc:mysql://localhost:3306/test";
    这样没问题的
      

  12.   

    useUnicode=true&characterEncoding=UTF-8应该不会有问题吧,我的mysql也是utf-8的,这样写从来都没问题啊