*

Eclipseの「DBViewer」プラグインを利用して「Java DB」の環境を作成し、SQLを発行してみる

公開日: : 最終更新日:2015/05/03 Eclipse, Java ,


スポンサードリンク



EclipseのJUnitプラグインとDBUnitを併用したDB(データベース)のアクセス処理のユニットテストのエントリーを作成しようと考えているのですが、その前準備としてDBの環境が必要になります。

「HSQLDB」を利用しようかとも思ったのですが、JDKに標準でついてくると言う理由で「Java DB」を利用します。

と言う事で今回は「Java DB」をEclipseから利用できる環境を作成し、DBのインスタンスの作成とSQLを実行するところまでを説明させていただきます。

「JavaDB」は、オープンソースのApache Derbyデータベースをオラクルがサポートしたディストリビューションです。「JDBC」 APIおよびJava EE APIにより標準のANSI/ISO SQLをサポートしています。「Java DB」は、JDKの6以降に標準で含まれています。

DBアクセスにはEclipseの「DBViewer」プラグインを利用します。
「DBViewer」プラグインの使い方の詳細につきましては
Eclipseの「DBViewer」プラグインの使い方[前編]
Eclipseの「DBViewer」プラグインの使い方[後編] をご参照ください。

「Eclipse DBViewer」プラグインのインストール

Pleiades All in One 4.4(対応するEclipseのバージョンは4.4.0 Luna)のUltimateもしくは、Javaパッケージには既に「Eclipse DBViewer」プラグインは組み込み済みですので、All in One Eclipseをご利用の場合はインストールする必要はございません。

Eclipseのメニューの[ヘルプ]>[Eclipse マーケットプレース…]をクリックします。
スクリーンショット 2014-11-23 16.00.49

機能が利用できるようになるまで少し時間がかかりますが、以下の画面が表示されますので、赤枠部分に”DBViewer”と入力して「実行」ボタンをクリックします。
スクリーンショット 2014-11-23 16.06.28

「DBViewer」プラグインが結果一覧に表示されますので、「インストール」ボタンをクリックします。
スクリーンショット 2014-11-23 16.10.02

インストール確認画面が表示されますので、「確認>」ボタンをクリックします。
スクリーンショット 2014-11-23 16.16.24

最後にライセンス説明が表示されますので、内容を読んでいただき、「使用条件の条項に同意します」をチェックし、「完了」ボタンをクリッックします。
スクリーンショット 2014-11-23 16.18.08

「完了」ボタンをクリックするとインストールが開始されます。
途中で「セキュリティー警告」が表示されますが「OK」ボタンをクリックします。
スクリーンショット 2014-11-23 16.21.09

インストール後にEclipseの再起動を求めるダイアログが表示されますので「はい」ボタンをクリックします。
スクリーンショット 2014-11-23 16.23.50

以上で「DBViewer」のインストールは完了です。

「Eclipse DBViewer」プラグインで「Java DB」のインスタンスを新規作成する方法

「Eclipse DBViewer」プラグインのパースペクティブの表示方法

「Eclipse DBViewer」プラグインを利用するためにパースペクティブを表示する必要があります。
Eclipseのメニューの[ウィンドウ]>[パースペクティブを開く]>[その他…]をクリックします。
スクリーンショット 2014-11-23 17.26.20

パースペクティブの選択画面が表示されますので、「DBViewer」を選択し「OK」ボタンをクリックします。
スクリーンショット 2014-11-23 17.27.36

「DBViewer」のパースペクティブが表示されました。
スクリーンショット 2014-11-23 17.30.38

「Eclipse DBViewer」から「Java DB」のインスタンスを生成する方法

表示されたパースペクティブで「DBViewerPlugin」を選択しマウスの右クリックメニューを表示し、表示されたメニューの「登録」ボタンをクリックします。
スクリーンショット 2014-11-23 17.54.54

「データベース定義の登録」画面が表示されますので、データベース定義名に”JavaDBTest”と入力します。
スクリーンショット 2014-11-23 17.57.33

この画面では利用するデーターベースのJDBCドライバーを指定する必要がありますので、「ファイルの追加」ボタンをクリックします。
スクリーンショット 2014-11-23 17.57.33

ファイル選択ダイアログが表示されますのでderby.jarを選択後に「次へ>」ボタンをクリックします。
スクリーンショット 2014-11-23 18.07.55

なお、derby.jarは、JDKをデフォルトでインストールした場合は以下の場所に存在します。
(インストールするJDKのバージョンによって数字は読み替えてください。)
Windowsの32ビットではC:\Program Files\Java\jdk1.6.0\db\lib\derby.jar
Windowsの32ビットではC:\Program Files (x86)\Java\jdk1.6.0\db\lib\derby.jar

Macの場合はjdk1.6までとjdk1.7以降ではシステム上での管理が異なっており、jdk1.6には「Java DB」は同梱されておりません。jdk1.7をインストールした時のderby.jarの場所は以下の通りです。
/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/db/lib/derby.jar

jdk1.6をご利用の場合は「Java DB」を手動でダウンロードしてインストールする必要があります。

「次へ>」ボタンクリックすると「接続情報の設定」画面が表示されます。
「JDBC Driver」は、先ほど選択したderby.jarに含まれるorg.apache.derby.jdbc.AutoloadedDriverが選択状態となっているはずです。
「JDBCタイプ」は、Type4を指定してください。
「接続文字列」ですが、「Java DBの接続文字列」は”jdbc:derby:/” + “Java DBを作成する場所のフルパス” + “;create=true;”の形式となります。
最後のcreate=trueはDBに接続した時に存在しなければDBを作成するとのパラメータとなります。

今回はEclipseのワークスペースのフォルダ直下のjavaDBTestとのパスを指定して接続文字列としました。
「Java DBの接続文字列」は、jdbc:derby:/Users/kawano/Documents/workspace_luna_2/javaDBTest;create=true;を指定しました。

“Java DBを作成する場所のフルパス”に関してはお使いの環境で利用可能なパスを指定してください。

「接続ユーザ」と「接続用パスワード」にはtestと指定してください。

「完了」ボタンをクリックする前に「テスト接続」ボタンを押してみます。
スクリーンショット 2014-11-23 22.40.03

うまく接続できました。
スクリーンショット 2014-11-23 22.41.19

「Java DB」関連のファイルも生成されていることが確認できました。
スクリーンショット 2014-11-23 19.44.06

「テスト接続」がうまくいったので「完了」ボタンをクリックします。
スクリーンショット 2014-11-23 19.41.32

「DBViewerPlugin」の配下に先ほど作成した「javaDBTest」が表示されました。
スクリーンショット 2014-11-23 19.50.49

「Eclipse DBViewer」プラグインで「Java DB」にアクセスしてSQLを実行してみる

DBへの接続方法

「Eclipse DBViewer」プラグインのパースペクティブを表示した状態で、「DBツリー・ビュー」の「DBViewerPlugin」配下に表示されているDBを選択し、右クリックメニューの「接続」をクリックします。
スクリーンショット 2014-11-23 19.55.58

すると接続に失敗してしまいました。出力されたメッセージは以下の通りです。

クラス・ローダーzigen.plugin.db.core.PluginClassLoader@50ce3dc6を使用してデータベース’/Users/kawano/Documents/workspace_luna_2/javaDBTest’を起動できません。詳細は次の例外を参照してください。

と言われましても、次の例外はないのですが・・・

テスト接続の時はうまくいったのに・・・
クラスローダーで失敗しているんだからjreが無条件に読み込む場所(jreのlibのextフォルダ)にderby.jarとderbyclient.jarを「Java DB」のlibからコピーし、Eclipseを再起動してみました。

extフォルダは検証している環境では以下のパスとなっています。
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/

すると今度は接続できました。
スクリーンショット 2014-11-23 22.35.04

SQLの発行を行ってみる

Personテーブルを作成

まずは、testスキーマを選択します。これでcreate table文で作成したテーブルがtestスキーマの所有物となります。
スクリーンショット 2015-04-03 15.46.34

以下のSQLを「SQL実行・ビュー」から実行します。

「SQL実行・ビュー」の入力エリアに上記SQLを入力し「実行」ボタンをクリックします。
スクリーンショット 2014-11-23 22.51.52

実行結果は左下に表示されます。
スクリーンショット 2014-11-23 22.56.52

実行しただけではPERSONテーブルは表示されません。
TESTの直下のTABLEを選択し、マウスの右クリックメニューの「更新」をクリックします。
スクリーンショット 2015-04-03 15.51.06

TESTスキーマの配下のTABLEにPERSONテーブルが表示されるようになりました。
スクリーンショット 2014-11-24 13.28.23

しかし「PERSON」テーブルの詳細を見ようとするとエラーが発生してしまいます。
「Java DB」なんか不安定な気がします。Eclipseを再起動したら正しく表示されました。私の環境がMacだからでしょうか?、それともextをjarをコピーしたから?
スクリーンショット 2014-11-24 13.47.04

これで「PERSON」テーブルの詳細が見えるようになりました。
スクリーンショット 2014-11-24 13.50.08

今後に不安が残りますが・・・


スポンサードリンク



関連記事

Eclipse4.4(Java)におけるビルド・パス関係の設定方法[ビルド・クラスパスの順序およびエクスポート設定]

Eclipse4.4(Java)におけるビルド関係のビルド・パス上の「ビルド・クラスパスの順序および

記事を読む

Eclipse4.4(Java)における自動ビルド設定の変更方法の説明

Eclipse4.4における自動ビルド設定の変更方法を説明させていただきます。 自動ビルド設定の変

記事を読む

JUnit入門その5[DBUnitの概要説明]

前回エントリーでは「JUnit入門その4」と題してDBUnitをEclipseで動作させるための環境

記事を読む

Eclipse(4.3,4.4)の使い方[各画面エリアの名称とパースペクティブのビューのカスタマイズ]

本エントリーでは、Eclipse(Eclipse4.3,4.4)の各画面エリアの名称の説明と、ビュー

記事を読む

JDT betaを利用してJDK8(java 8)対応のEclipse開発環境を作成する[Mac編]

「Java 8の新機能について」では、どんな新機能があるか紹介させていただきました。 今後、少

記事を読む

Selenium入門その3[Selenium WebDriver(Java/Junit4)の使い方]

WebDriverでは、予め中継サーバを起動しなくても、テスト実行時にブラウザ拡張機能や、OSのネイ

記事を読む

JUnit入門その8[Eclipse4.4のJUnitプラグインのテストケースのカバレッジをEclEmmaを利用して測定してみる]

今回は「EclEmma」を使って、テストのカバレッジの測定を行うエントリーとなります。 「djUn

記事を読む

Java超入門 with Eclipse[4:クラスに関する基礎知識(修飾子とクラスとインスタンスと変数)]

前回は、Javaの基本であるクラスの基本的な知識をざっくりと説明させていただいたあと、 packa

記事を読む

Java8の新機能に完全対応のEclipseメジャーリリースとなる Eclipse 4.4 Luna (ルナ) が遂にリリース

Eclipse メジャーリリースとなる Eclipse 4.4 Luna (ルナ) が遂にリリースさ

記事を読む

Selenium入門その4[Selenium WebDriver(Java/Junit4)の基本コマンド]

前回はEclipse環境でSelenium WebDriverでJava/Junit4を利用したテス

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Selenium入門その6[Selenium3でWebDriver(Java/Junit4)の環境を作成しEdge,Chrome,Firefoxで確認してみる]

Selenium3も3.0.1がリリースされましたし、今後は本格的にS

Selenium利用時のトラブルシューティング方法[クリック編]

Seleniumは便利なテスト自動化ツールですし、今後は更なる利用者の

Java8のラムダ式とStream APIを利用してコーディング量の削減サンプル集

Java8になりラムダ式と「Stream API」が利用できるようにな

Selenium入門その5[ページオブジェクトパターン(Page Object Design Pattern)を利用して変更に強いテストを作成する方法]

Selenium入門その2 では「UIマップファイル」と言う仕組みが

Javaによる非同期処理入門その1[非同期処理の実装方法の概説]

Javaによる非同期処理に関するエントリーを前々から作成したいと思って

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑