다음은 제품 이름을 데이터베이스로 가져오는 작업이다. 나는 작은 자바 프로그램을 만들었다. 이 프로그램은 .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(); } }