如何使用java在多个表中插入json文件?

时间:2014-04-25 19:07:31

标签: java mysql json twitter

我是json格式的初学者,我将不胜感激任何帮助。 我有一个包含来自Twitter数据库的10.000条推文的JSON文件。

我在数据库中创建空的5个表,每个表都有特定的信息,如用户信息,推文信息等。我想使用Java将这些数据从JSON文件插入任何表中的特定列,这样我就能做到搜索以根据条件检索特定的推文。

我有代码将数据库与Java类连接并读取外部文件,但它将其插入一列,我该如何分割它?


import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class InsertTextFileToMySQL {

  public static Connection getConnection() throws Exception {
    String driver = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:8889/db_Twitter";
    String username = "root";
    String password = "root";

    Class.forName(driver);
    Connection conn = DriverManager.getConnection(url, username, password);
    return conn;
  }

  public static void main(String[] args)throws Exception {
    String id = "001";
    String fileName = "fileName.txt";
    FileInputStream fis = null;
    PreparedStatement pstmt = null;
    Connection conn = null;
    try {
      conn = getConnection();
      conn.setAutoCommit(false);
      File file = new File(fileName);
      fis = new FileInputStream(file);
      pstmt = conn.prepareStatement("insert into DataFiles(id, fileName, fileBody) values (?, ?, ?)");
      pstmt.setString(1, id);
      pstmt.setString(2, fileName);
      pstmt.setAsciiStream(3, fis, (int) file.length());
      pstmt.executeUpdate();
      conn.commit();
    } catch (Exception e) {
      System.err.println("Error: " + e.getMessage());
      e.printStackTrace();
    } finally {
      pstmt.close();
      fis.close();
      conn.close();
    }
  }
}

同样,此代码将整个文件插入一列。

0 个答案:

没有答案