Читать несколько текстовых файлов в папке и импортировать в базу данных - PullRequest
2 голосов
/ 10 марта 2020

Мне нужно импортировать кучу текстовых файлов (292) в другую базу данных. Каждый файл должен быть в другой таблице и базе данных. Он извлечет doc_no и doc_cde из таблицы sys_do c. Моя идея состоит в том, чтобы использовать все oop. Также интересно, как я могу отфильтровать эти текстовые файлы в соответствии с их базой данных на основе doc_cde.

Это пример кода, который я буду использовать прямо сейчас. Любые другие идеи для выполнения моей задачи будут полезны.

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","caspian");
       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;
        }
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...