S2JDBC-はじめのいっぽ
S2JDBCの初めの一歩としてDoltengやeclipseの「Pleiades All in One 日本語ディストリビューション」に組み込まれているデータベースまわりの機能について簡単に紹介する。
Doltengについては「 eclipseにSAStrutsのプラグインをインストール - 愚鈍人」を参照。
Scaffoldアプリケーションの作成
Doltengで永続化にS2JDBCを指定してプロジェクトを作成するとデフォルトでH2というデータベースのサンプルが組み込まれている。
このサンプルデータとDoltengの「データベース・ビュー」の「Scaffoldアプリケーションの生成」機能を使ってデータベースアプリケーションを自動生成する。
SAStrutsAppプロジェクトを右クリックして表示されるメニューより「H2]→「H2サーバの開始」をクリックしてH2データベースを起動する。
Eclipseのメニューから「ウィンドウ(W)」→「ビューの表示(V)」→「その他...(O)」で表示されるダイアログボックスよりDoltengの下の「データベース・ビュー」を選択する。
「データベース・ビュー」が表示される。
「SAStrutsApp」→「s2jdbc」→「Public」→「DEPT」を選択して右クリックにて表示されるメニューにて「Scaffoldアプリケーションの生成」を選択する。
下図のようなダイアログボックスが表示されるのでOKボタンを押す。
これによりH2データベースのDEPTテーブルに対するデータベースアプリケーションのソースコードが自動生成される。
生成されるファイルのリストは以下のとおりである。
- src/main/javaの下に作成されるjavaソース
- entitysrc/main/webapp/WEB-INF/view/deptの下に作成されるjspページ
- list.jsp
レコード(行)リスト表示用のJSPファイル
- show.jsp
既存レコード(行)参照用のJSPファイル
- create.jsp
新規レコード(行)追加用のJSPファイル
- edit.jsp
既存レコード(行)更新用のJSPファイル
- list.jsp
生成されたアプリケーションを表示させてみよう。
tomcatを起動する。
src/main/java/を展開して「mySAStruts.action」パッケージのDeptAction.javaを選択、マウスの右クリックメニューより「SAStruts」→「サーバで表示」を選択する。
以下の画面が表示される。
DEPTテーブルに対するひととおりの操作をおこなえるアプリケーションが既にできあがっている事がわかる。
では、自動生成されたコードを修正を加えた後に再度「データベース・ビュー」より「Scaffoldアプリケーションの生成」を実行するとどうなるであろう。
この場合には、自動生成されるファイルと同名のファイルが存在した場合にはファイルは上書きされないようになっているようである。
またファイルを削除してしまった場合は再度同じコードを生成してくれる。
「データベース・ビュー」の右クリックメニューより「新規Daoまたはエンティティ...」を選択した場合は、Dept.java(mySAStruts/entityパッケージ)のソースコードだけが自動生成されるが、この時、次のようなだダイアログボックスが表示されてテーブルのエンティティクラスをより細かく指定する事ができる。
データベース・マネージャの操作
eclieclipseからWebブラウザを起動してデータベースの操作をおこなう事ができる。
ここではその方法について説明する。
プロジェクトを右クリックして表示されるメニューより「H2]→「データベース・マネージャの表示」を選択するとWebブラウザが起動し下図のようにデータベースへのログイン画面が表示される。
ここで、「JDBC URL」に「jdbc:h2:tcp://localhost:9092/demo」を入力して接続ボタンを押すとデータベース管理画面にログインする事ができ、下図のようにデータベースの操作をWebブラウザ上からおこなう事ができる。
この管理画面は、H2だけでなくさまざまなデータベースに対しても接続可能なようで、保存済設定のプルダウンリストをクリックすると下図のようなデータベースのリストが表示される。
保存済設定で接続したいデータベースの種類を選択して「JDBC URL」にJDBCの接続文字列を入力する事により実際にMySQLのデータも操作をおこなう事ができた。
DBViewerPluginでデータベースに接続する。
eclipseの「Pleiades All in One 日本語ディストリビューション」にはDBViewerPluginがはじめからインストールされており、これを使ってH2データーベースデータベースの操作をおこなう事ができる。
javaパースペクティブではeclipseのパッケージエクスプローラの下にDBViewerのDBツリービューが表示されている。
もし表示されていない場合は、 Eclipseのメニューから「ウィンドウ(W)」→「ビューの表示(V)」→「その他...(O)」→「その他...(O)」で表示されるダイアログボックスよりDBViewerプラグインの下の「DBツリービュー」を選択する。
「DBツリービュー」にてマウスの右クリックにて表示されるメニューより「登録(A)」を選択する。
下図のダイアログボックスが表示されるのでデータベース定義名を入力して、ファイルの追加ボタンを押してJDBCドライバーのパスを指定する。
Dolengで作成したWebアプリケーションのプロジェクトにはH2のJDBCドライバーがインストールされている(src/main/webapp/WEB-INF/lib/h2-1.0.69.jar)のでこれを指定する。
「次へ(N)>」ボタンを押すと下図のダイアログボックスが表示されるのでOKボタンを押す。
ここで、「接続文字列(S)」に「jdbc:h2:tcp://localhost:9092/demo」を,接続ユーザ(U)に「sa」を入力して完了(F)ボタンを押すと、DBViewerにデータベースが登録されるので、これをダブルクリックしてテーブルを選択するとデータベースの操作をおこなう事ができる。
また、 Eclipseのメニューから「ウィンドウ(W)」→「ビューの表示(V)」→「その他...(O)」→「その他...(O)」で表示されるダイアログボックスよりDBViewerプラグインの下の「SQL・実行・ビュー」を選択する事でSQLコマンドを実行する事もできる。