S2JDBC-はじめのいっぽ


S2JDBCの初めの一歩としてDoltengやeclipseの「Pleiades All in One 日本語ディストリビューション」に組み込まれているデータベースまわりの機能について簡単に紹介する。

 

Doltengについては「 eclipseにSAStrutsのプラグインをインストール - 愚鈍人」を参照。

Scaffoldアプリケーションの作成

Doltengで永続化にS2JDBCを指定してプロジェクトを作成するとデフォルトでH2というデータベースのサンプルが組み込まれている。

 

s2jdbc_first1

 

このサンプルデータとDoltengの「データベース・ビュー」の「Scaffoldアプリケーションの生成」機能を使ってデータベースアプリケーションを自動生成する。

 

SAStrutsAppプロジェクトを右クリックして表示されるメニューより「H2]→「H2サーバの開始」をクリックしてH2データベースを起動する。

 

Eclipseのメニューから「ウィンドウ(W)」→「ビューの表示(V)」→「その他...(O)」で表示されるダイアログボックスよりDoltengの下の「データベース・ビュー」を選択する。

 

 

「データベース・ビュー」が表示される。
「SAStrutsApp」→「s2jdbc」→「Public」→「DEPT」を選択して右クリックにて表示されるメニューにて「Scaffoldアプリケーションの生成」を選択する。
 

 

s2jdbc_first3

 

下図のようなダイアログボックスが表示されるのでOKボタンを押す。

 

s2jdbc_first4

 

これによりH2データベースのDEPTテーブルに対するデータベースアプリケーションのソースコードが自動生成される。
生成されるファイルのリストは以下のとおりである。

  • src/main/javaの下に作成されるjavaソース
    • DeptAction.java(mySAStruts.actionパッケージ)
    • DeptForm.java(mySAStruts.formパッケージ)
    • AbstractService.java(mySAStruts/serviceパッケージ)
      アプリケーションでのテーブルに関する操作をおこなうクラスのスーパクラス
    • DeptService.java(mySAStruts/serviceパッケージ)
      Deptテーブルに関する操作をおこなうクラス
    • Dept.java(mySAStruts/entityパッケージ)
      Deptテーブルを示すのエンティティクラス
  • entitysrc/main/webapp/WEB-INF/view/deptの下に作成されるjspページ
    • list.jsp
      レコード(行)リスト表示用のJSPファイル
    • show.jsp
      既存レコード(行)参照用のJSPファイル
    • create.jsp
      新規レコード(行)追加用のJSPファイル
    • edit.jsp
      既存レコード(行)更新用のJSPファイル

生成されたアプリケーションを表示させてみよう。
tomcatを起動する。
src/main/java/を展開して「mySAStruts.action」パッケージのDeptAction.javaを選択、マウスの右クリックメニューより「SAStruts」→「サーバで表示」を選択する。
以下の画面が表示される。

 

s2jdbc_first5jpg

 

DEPTテーブルに対するひととおりの操作をおこなえるアプリケーションが既にできあがっている事がわかる。

では、自動生成されたコードを修正を加えた後に再度「データベース・ビュー」より「Scaffoldアプリケーションの生成」を実行するとどうなるであろう。

この場合には、自動生成されるファイルと同名のファイルが存在した場合にはファイルは上書きされないようになっているようである。
またファイルを削除してしまった場合は再度同じコードを生成してくれる。

「データベース・ビュー」の右クリックメニューより「新規Daoまたはエンティティ...」を選択した場合は、Dept.java(mySAStruts/entityパッケージ)のソースコードだけが自動生成されるが、この時、次のようなだダイアログボックスが表示されてテーブルのエンティティクラスをより細かく指定する事ができる。

 

s2jdbc_first6jpg

 

データベース・マネージャの操作

eclieclipseからWebブラウザを起動してデータベースの操作をおこなう事ができる。
ここではその方法について説明する。

プロジェクトを右クリックして表示されるメニューより「H2]→「データベース・マネージャの表示」を選択するとWebブラウザが起動し下図のようにデータベースへのログイン画面が表示される。

 

s2jdbc_first7

 

ここで、「JDBC URL」に「jdbc:h2:tcp://localhost:9092/demo」を入力して接続ボタンを押すとデータベース管理画面にログインする事ができ、下図のようにデータベースの操作をWebブラウザ上からおこなう事ができる。

 

s2jdbc_first8

 

この管理画面は、H2だけでなくさまざまなデータベースに対しても接続可能なようで、保存済設定のプルダウンリストをクリックすると下図のようなデータベースのリストが表示される。
保存済設定で接続したいデータベースの種類を選択して「JDBC URL」にJDBCの接続文字列を入力する事により実際にMySQLのデータも操作をおこなう事ができた。

 

s2jdbc_first9

 

DBViewerPluginでデータベースに接続する。

eclipseの「Pleiades All in One 日本語ディストリビューション」にはDBViewerPluginがはじめからインストールされており、これを使ってH2データーベースデータベースの操作をおこなう事ができる。
 

javaパースペクティブではeclipseのパッケージエクスプローラの下にDBViewerのDBツリービューが表示されている。
もし表示されていない場合は、 Eclipseのメニューから「ウィンドウ(W)」→「ビューの表示(V)」→「その他...(O)」→「その他...(O)」で表示されるダイアログボックスよりDBViewerプラグインの下の「DBツリービュー」を選択する。

 

s2jdbc_first10

 

「DBツリービュー」にてマウスの右クリックにて表示されるメニューより「登録(A)」を選択する。

下図のダイアログボックスが表示されるのでデータベース定義名を入力して、ファイルの追加ボタンを押してJDBCドライバーのパスを指定する。
Dolengで作成したWebアプリケーションのプロジェクトにはH2のJDBCドライバーがインストールされている(src/main/webapp/WEB-INF/lib/h2-1.0.69.jar)のでこれを指定する。

 

s2jdbc_first11

 

「次へ(N)>」ボタンを押すと下図のダイアログボックスが表示されるのでOKボタンを押す。

 

s2jdbc_first12

 

ここで、「接続文字列(S)」に「jdbc:h2:tcp://localhost:9092/demo」を,接続ユーザ(U)に「sa」を入力して完了(F)ボタンを押すと、DBViewerにデータベースが登録されるので、これをダブルクリックしてテーブルを選択するとデータベースの操作をおこなう事ができる。

 

s2jdbc_first13

 

また、 Eclipseのメニューから「ウィンドウ(W)」→「ビューの表示(V)」→「その他...(O)」→「その他...(O)」で表示されるダイアログボックスよりDBViewerプラグインの下の「SQL・実行・ビュー」を選択する事でSQLコマンドを実行する事もできる。

 

ページのトップへ戻る