トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

H2 DBの使い方

http://www.h2database.com/html/main.html
http://homepage2.nifty.com/yoks/TechNote/H2/H2_MnFrm.htm

H2DBは大きく2つのモードがある。

組込(Embedded)
ローカルのDBファイルに直接アクセスする。サービスを外部へ公開することはできない。SQLiteみたいな感じ。

サーバモード
DBサーバとして起動するモード。サービスを外部へ公開できる。通常のDB

また、バージョン違いでの接続は避けたほうが無難。

組込(Embedded)モード

jdbc:h2:[file:]パス


jdbc:h2:~/test
jdbc:h2:file:~/test

など。 「file」の表記はあってもなくてもどっちでも良い。
指定パターン データベースファイルの所在
jdbc:h2:~/test C:\Documents and Settings\Windowsユーザー名\ に、testデータベースが作成される。
jdbc:h2:test この場合も~指定と同様に、C:\Documents and Settings\Windowsユーザー名\ にtestデータベースが作成される。これはサーバーモードでH2 DBを動かしたときとは違う動作になる。
jdbc:h2:c:\work\data\test ドライブ名からフルパスで指定したときは、そのフルパス指定の場所に作成される。例ではc:\work\data\ に、testデータベースが作成される。

サーバモード

jdbc:h2:tcp://localhost/~/test

などで接続。事前に

h2.bat

等でサーバを起動しておく必要がある。

指定パターン データベースファイルの所在
jdbc:h2:tcp://localhost/~/test C:\Documents and Settings\Windowsユーザー名\ に、testデータベースが作成される。
jdbc:h2:tcp://localhost/test H2インストールディレクトリ\bin\ に、testデータベースが作成される。
jdbc:h2:tcp://localhost/c:\work\data\test ドライブ名からフルパスで指定したときは、そのフルパス指定の場所に作成される。例ではc:\work\data\ に、testデータベースが作成される。


データ型

http://d.hatena.ne.jp/sekom/20081201/p1
H2のデータ型 See also 備考
INT java.lang.Integer -
BOOLEAN java.lang.Boolean -
TINYINT java.lang.Byte -
SMALLINT java.lang.Short -
BIGINT java.lang.Long -
IDENTITY java.lang.Long -
DECIMAL java.math.BigDecimal -
DOUBLE java.lang.Double -
REAL java.lang.Float -
TIME java.sql.Time java.sql.Timeのインスタンスを生成する際には、年月日の部分は1970年1月1日にしないと挙動不審な動作をします。
DATE java.sql.Date -
TIMESTAMP java.sql.Timestamp -
BINARY - byte[]と互換性があります。SetXXX時には、java.io.InputStream(抽象クラスです)も使用可能です。
OTHER - java.lang.Objectと互換性があります。
VARCHAR java.lang.String SetXXX時には、java.io.Reader(抽象クラスです)も使用可能です。setAsciiStream時には、java.io.InputStream(抽象クラスです)も使用可能です。
VARCHAR_IGNORECASE - java.lang.Stringと互換性があります。
CHAR - java.lang.Stringと互換性があります。
BLOB - ResultSetから取り出す際には、java.sql.Blob(インターフェースです)で取り出します。SetXXX時にはjava.sql.Blob(インターフェースです)、javax.sql.rowset.serial.SerialBlob(J2SE5以降)、byte[]のいずれかを使用します。
CLOB - ResultSetから取り出す際には、java.sql.Clob(インターフェースです)で取り出します。SetXXX時にはjava.sql.Clob(インターフェースです)、javax.sql.rowset.serial.SerialClob(J2SE5以降)、java.lang.Stringのいずれかを使用します。
UUID - java.lang.Longと互換性があります。
ARRAY - java.lang.Objectと互換性があります。紛らわしいですが、java.sql.Arrayとは互換性がありません。


[カテゴリ: データベース > SQLite]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2013年06月02日 12時28分26秒