WTP上のTomcat6でH2をデータソースにする
一回できたのに忘れてしまったのでメモ。なお、EclipseにはPleiadesが組み込まれてるものとする。
多分これでいいと思うんだけど、間違ってたら誰か突っ込んでくれ。
WTPで動かすTomcat6に外部のjarを登録する
「Servers」プロジェクトを選択して右クリックメニュー
⇒ 「実行」 ⇒ 「実行の構成」
⇒ 「クラスパス」タブを選択
⇒ 「ユーザー・エントリー」にH2のjarを追加
⇒ 「適用」を押す。
H2をJDBCドライバとして登録する
「Servers」プロジェクトのサーバ定義フォルダ(例えば「ローカル・ホスト の Tomcat v6.0 サーバー-config」)にある「context.xml」を編集する。
<Resource name="TestDB" auth="Container" type="javax.sql.DataSource" maxActive ="-1" -- テスト用なので適当 -- maxIdle="-1" -- 〃 -- maxWait="-1" -- 〃 -- username="test_web" password="test_web" driverClassName="org.h2.Driver" url="jdbc:h2:~/workspace/TestDB" />
H2がサーバとして起動している場合は「jdbc:h2:tcp://localhost/~/workspace/TestDB」のように指定する。
Connectionオブジェクトを取ってくる
public class ClassOfSingleton { @Resource(name = "TestDB") private DataSource ds; ... void method() { Connection conn = null; try { conn = ds.getConnection(); ... } catch (SQLException e) { ... } finally { try { conn.close(); } catch (SQLException e) { ... } } ... } }