Apache Derbyメモ
お気軽DBのApache Derbyを、Eclipseのプラグイン版でさわってみる。
JDK:1.4.2
Eclipse:3.1.1
準備
1.インストール
derby_core_plugin_10.1.2、derby_ui_plugin_1.1.0.zipをEclipseにインストール。
2.Derby化?
適当にプロジェクトを選択して、右クリ→Apache Derby→Add Apache Derby natureを選択。
パスにDerbyのjarが通される。
3.サーバの起動
プロジェクトを右クリ→Apache Derby→Start Derby Network Serverを選択。
4.コンソールから接続&DB作成
プロジェクトを右クリからijを起動する。ij=Derbyのコンソールらしい。
以下のように打つ。
create=trueとすると、指定した名前のDBがない場合に作成してくれるらしい。
connect 'jdbc:derby://localhost:1527/testDb;create=true;user=hoge;password=foo';
ユーザ、パスは適当。なくても大丈夫っぽい。
さわる
ijからさわる。
create tableでテーブル作成後、いろいろいじった。
select, insert, delete, updateあたりは動く(当たり前)。
truncateはないらしい。
SELECT * FROM SYS.SYSTABLES;
とかで、システム関連の情報が見れる。
SYSスキーマに色々情報があるらしい。
Javaでさわる。
こんな感じ。Utilsはご想像の通り。
単なるJavaソースだな。
public static void main(String[] args) {
Connection conn = null;
ResultSet rs = null;
Statement stmt = null;
try {
Class.forName("org.apache.derby.jdbc.ClientDriver");
conn = DriverManager.getConnection("jdbc:derby://localhost:1527/testDb");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT TABLEID, TABLENAME FROM SYS.SYSTABLES");
while (rs.next()) {
int i = 1;
String tableId = rs.getString(i++);
String tableName = rs.getString(i++);
System.out.println(tableId + " : " + tableName);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
Utils.releaseResultSet(rs);
Utils.releaseStatement(stmt);
Utils.releaseConnection(conn);
}
}
まぁ特に珍しいことをやる気もないし。
んで実行結果
80000010-00d0-fd77-3ed8-000a0a0b1900 : SYSCONGLOMERATES
80000018-00d0-fd77-3ed8-000a0a0b1900 : SYSTABLES
8000001e-00d0-fd77-3ed8-000a0a0b1900 : SYSCOLUMNS
80000022-00d0-fd77-3ed8-000a0a0b1900 : SYSSCHEMAS
8000002f-00d0-fd77-3ed8-000a0a0b1900 : SYSCONSTRAINTS
80000039-00d0-fd77-3ed8-000a0a0b1900 : SYSKEYS
8000003e-00d0-fd77-3ed8-000a0a0b1900 : SYSDEPENDS
c013800d-00d7-ddbd-08ce-000a0a411400 : SYSALIASES
8000004d-00d0-fd77-3ed8-000a0a0b1900 : SYSVIEWS
80000056-00d0-fd77-3ed8-000a0a0b1900 : SYSCHECKS
8000005b-00d0-fd77-3ed8-000a0a0b1900 : SYSFOREIGNKEYS
80000000-00d1-15f7-ab70-000a0a0b1500 : SYSSTATEMENTS
80000000-00d3-e222-873f-000a0a0b1900 : SYSFILES
c013800d-00d7-c025-4809-000a0a411200 : SYSTRIGGERS
f81e0010-00e3-6612-5a96-009e3a3b5e00 : SYSSTATISTICS
c013800d-00f8-5b70-bea3-00000019ed88 : SYSDUMMY1
80220011-010b-1371-2bb2-00000000002e : FIRSTTABLE