더북(TheBook)

다음은 제품 이름을 데이터베이스로 가져오는 작업이다. 나는 작은 자바 프로그램을 만들었다. 이 프로그램은 .csv 파일을 읽어들여 첫 줄만 뽑은 뒤 각 칼럼을 돌며 제품 이름을 데이터베이스에 입력한다. 다음은 매우 직관적인 작은 코드인데, 이번 예제를 위한 것이다. 다운로드한 경로나 rawdata.csv 파일 위치로 파일 경로를 바꾸고 다음 코드를 사용한다.


import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
 
public class ExtractProductNames {
 
    static {
        try { 
            Class.forName(“com.mysql.jdbc.Driver”);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
 
    public ExtractProductNames() {
        try {
            Connection con = DriverManager.getConnection(“jdbc:mysql://localhost/apriori”,“root”,””);
            PreparedStatement pstmt = con.prepareStatement(“INSERT INTO products (id, productname) VALUES (?,?)”);
            
            BufferedReader csvfile = new BufferedReader(new FileReader(”/path/to/your/data/rawdata.csv”));
            String productsLine = csvfile.readLine();
            String[] products = productsLine.split(”,”);
 
            for(int i = 0; i < products.length; i++) {
                pstmt.clearParameters();
                pstmt.setInt(1, i);
                pstmt.setString(2, products[i].trim());
                pstmt.execute();
                System.out.println(“Added: “ + products[i] + ” into db”);
            }
            pstmt.close();
            con.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch(SQLException e) {
            e.printStackTrace();
        }
    }
 
    public static void main(String[] args) {
        ExtractProductNames epn = new ExtractProductNames();
    }
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.