2011/11/20更新

[DB] Derby(JavaDB)を使ってみた

このエントリーをはてなブックマークに追加            

DerbyというJavaで簡単に使える組み込みDB(DBサーバーとしても利用出来ます)を使ってみたので、 その使い方を残しておきたいと思います(*´∇`*)




Derbyって何?

  • IBMから寄贈されたDBで、Javaで作られている。
  • 組み込みとクライアント/サーバの2種類の方法で使える。
  • 軽い。空のDBを作るってみたら、1.75MBだった。
  • 設定が簡単。環境変数を3つほど設定すれば使えました。




Derbyのインストールと設定方法

  • ダウンロード&インストール

ダウンロードは、以下のサイトから出来ました。

http://db.apache.org/derby/derby_downloads.html

上記のサイトで、「db-derby-10.x.x.x-bin.zip」をダウンロードして、適当なディレクトリに解凍する。

これでインストール完了。

  • 環境設定

環境パスに、以下3つを設定する。

1、%DERBY_HOME%を設定する。上記で解凍したディレクトリが「C:\derby.10.6.1.0」の場合、「%DERBY_HOME%=C:\derby.10.6.1.0」とする。

2、%DERBY_INSTALL%を設定する。「DERBY_INSTALL=%DERBY_HOME%」でOK。

3、PATHに「%DERBY_HOME%\bin」を追加する。





とりあえずDerbyを使ってみる。

1、動作確認

コマンドプロンプトにて、「sysinfo」と入力し、実行してみる。

⇒Javaの情報とDerbyの情報がでるはず。

2、DBに接続

2-1 コマンドプロンプトにて、「ij」と入力し、実行する。コマンド入力が「ij>」になるはず。

2-2 「connect 'jdbc:derby:c:¥DB¥DerbyTestDB;create=true';」って実行する。DBが作成され、そのDBにつながった状態となる。ちなみにメッセージは何も出ないが、ディレクトリ(c:¥DB¥DerbyTestDB)は出来てるはず。

「create=true」は、指定したディレクトリがない場合、作ってと命令するオプション。

3、DDLやDMLの実行

3-1 「create table MEMBER (id varchar(4),name varchar(100));」と入力し実行すると、テーブルが出来る。

3-2 「insert into MEMBER values('1','yoheiM');」で、データが登録できる。

3-3 「select * from MEMBER;」で検索できる。

4、終わるときは

「exit」と入力する。





Derby(組み込み版)をJavaでとりあえず使ってみた場合のソース例

import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;

public class DBConnectionSampleMain {
  public static void main(String[] args) {		
    String framework = "embedded";
    String driver = "org.apache.derby.jdbc.EmbeddedDriver";
    String protocol = "jdbc:derby:";
    try{
      Class.forName(driver).newInstance();
      System.out.println("Derby DB Driver is loaded");	
      Connection conn = null;
      conn = DriverManager.getConnection(protocol + "C:\\DB\\DerbyTestDB");
      Statement stmt = conn.createStatement();
      ResultSet rs = stmt.executeQuery("select count(*) from member");
      while(rs.next()){
        int count = rs.getInt(1);
        System.out.println(count);				
      }
      rs.close();
      stmt.close();
      conn.close();
      System.out.println("fin");
    }catch(Exception e){
      e.printStackTrace();
    }
  }
}





最後に

Derbyって簡単に使えて良いなと思いました。

開発の仕事でDBがまだないときとかに、使うのに便利そう。

以下を参考にDerbyを使ってみました。

http://db.apache.org/derby/

http://db.apache.org/derby/docs/dev/ja_JP/getstart/getstart-single.html

http://www.itarchitect.jp/enterprise/-/29481-2.html

http://www.itarchitect.jp/enterprise/-/30601.html







こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。