Processing과 SQLite의 연동

Processing3에서 SQLite를 사용하여 데이터베이스를 조작하는 방법의 요약.

다음 사이트를 참고로 하고 있습니다.
http://mslabo.sakura.ne.jp/WordPress/make/processing%E3%80%80%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AA%E3% 83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/sqlite%E3%82%92%E4%BD%BF%E3%81%86-db% E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3/

sqlite-jdbc를 스케치 폴더에 저장합니다.



우선 Processing을 열고 파일을 저장한다. 그러면 스케치 폴더가 생성됩니다. (이번에는 DB_test_1.pde로 저장해 보겠습니다)

그런 다음 Processing에서 SQLite를 조작하는 데 필요한 JDBC를 스케치 폴더에 저장합니다.

JDBC는 각 SQL 언어마다 다양하지만 SQLite용 JDBC는 다음 사이트에서 구할 수 있습니다.
htps : // 기주 b. 코 m / ㅇ 리아 l / sq ぃ 테 jdbc

입수한 JDBC는 스케치 폴더 안에 새롭게 code 폴더를 작성해, 그 안에 저장하자.


이것으로 사전 준비 완료.

Java SQL 패키지를 이용한 코드 작성



Processing은 Java 환경이므로 Java 패키지를 이용할 수 있다. Java에서 SQL을 이용할 때는 java.sql 패키지를 이용하자.

이 java.sql 패키지내에는, DBMS(DataBase Management System)에의 접속·단절이나 SQL문을 송신할 때에 이용할 수 있는 클래스가 포함되어 있다.

이번에는, DBMS에의 접속 준비를 실시하기 위한 DriverManager 클래스, DBMS에의 접속을 실시하는 Connection 클래스, SQL문을 송신하기 위한 Statement 클래스를 이용한다.

최종 코드는 다음과 같습니다.

DB_test_1.pde
import java.sql.*; // パッケージのインポート
Connection connection = null; // 接続のためのクラスを宣言

void setup(){
  // DBファイルをスケッチフォルダに生成するため、絶対パスを指定。もしtest.dbが存在しない場合はスケッチ実行時に、test.dbが新たに作成される
  String dbName = sketchPath("test.db");

  // OPEN DB
  try{
    connection = DriverManager.getConnection("jdbc:sqlite:" + dbName); 
    Statement statement = connection.createStatement();
    statement.setQueryTimeout(30); // set timeout to 30 sec

    statement.executeUpdate("drop table if exists person");
    // 新たにTableを作成するためのSQL文を送信
    statement.executeUpdate("create table person(id integer, name)");

    // 作成したTableにデータをInsertしてみる
    statement.executeUpdate("insert into person values(1, 'leo')");
    statement.executeUpdate("insert into person values(2, 'yui')");

    // Tableの中身をすべてSelectし、Resultsetクラスに読み込む
    ResultSet rs = statement.executeQuery("select * from person");
    while(rs.next()){ // ResultSetに読み込まれたデータを表示する
      // read the result set
      String format = "name: %4s, id: %4d";
      println(String.format(format, rs.getString("name"), rs.getInt("id")));
      //print("name: " + rs.getString("name"));
      //println(", id: " + rs.getInt("id"));
    }
  } catch( SQLException e ){
    println(e.getMessage());
  } finally{
    dbClose();
  }
}

// データベース終了時の例外処理をまとめただけの関数
void dbClose(){
  try{
    if(connection != null){
      connection.close();
    }
  } catch (SQLException e){
    e.printStackTrace();
  }
}

위 코드를 실행하면 test_db 파일이 새로 작성되고 Processing 콘솔에 삽입된 데이터가 표시됩니다.

이상이 간단한 데이터베이스의 이용 방법의 설명이 됩니다.

좋은 웹페이지 즐겨찾기