14:00本連載ではTIS株式会社が提供している技術ブログ「Tech-Sketch」から「コレは!」というテーマをピックアップし、加筆修正して皆様にお届けしております。今回は、Play2でデータベースにCRUD操作を行う簡単なWebアプリケーションを作る方法を取り上げます。Framework」入門~(1)環境構築とスタートアップアプリの作成』ではPlay2の環境構築方法とスタートアップアプリについて紹介しました。この環境を元にデータベース(以下、DB)にCRUD操作を行う簡単なWebアプリケーションを作る方法を、2回にわたってステップ・バイ・ステップで紹介していきます。する「イベント管理アプリ」です。DBはすぐに使えるH2Database(以下、H2)を利用し、DBへのアクセスはSlickを利用することにします。事前準備としてライブラリのバージョンアップとDBスキーマの生成やH2とSlickを使うための設定を行った後、今回は「C:登録機能」を作成し、次回に「R:参照機能」、「U:更新機能」、「D:削除機能」を順に作成していきます。開発前の準備(1)ライブラリのバージョンアップ執筆時点ではPlay2の最新バージョンは「2.3.0」なので、前回構築した環境をバージョン「2.3.0」で再構築しておくことにします。今回利用するライブラリのバージョンは次のとおりです。3.1.1Play2は「2.3.0」から環境構築方法が少し変わります。Activator」とセットで提供されるようになりActivatorコマンドを利用することになります。基本的な流れは同じなので簡単に紹介します。ダウンロードサイトからZipファイル「typesafe-activator-1.2.2-minimal.zip」をダウンロードし、任意のディレクトリに展開します。筆者は「C:\pleiades\activator\activator-1.2.2」としました。Activatorコマンドを利用できるように展開したディレクトリを環境変数の「Path」に追加しておきます。<テンプレート名>」で行います。Activatorには100種類以上のテンプレートが提供されており、作成するアプリケーションによって最も適したテンプレートを選択することができます。ACTIVATOR/TEMPLATES」で参照でき、コントリビュートすることも可能です。ui」コマンドを使用してWebブラウザからテンプレートの選択などを行いアプリケーションを作成することもできます。play-scala」を実行します。プロキシ環境下で利用する場合は、ユーザディレクトリの「.activator」ディレクトリ配下に、次のような「activatorconfig.txt」を作成しておきましょう。run」をプロジェクトディレクトリで実行します。「activator」を実行するとActivatorのコンソール画面が起動し、さらに「help」コマンドを実行することでコンソール上で実行可能なコマンドを確認することができます。Play2に伴いScalaのバージョンも「2.11.1」にバージョンアップしました。Eclipse」をインストールしましたので、以下のプラグインサイトを使用し、「2.11」版にアップデートしておきましょう。http://download.scala-ide.org/sdk/helium/e38/scala211/stable/site(2)Slickライブラリの設定Play2のビルドは「sbt」で行われますので、ライブラリを使用するにはsbtのビルドスクリプトに依存関係を定義する必要があります。Slickを利用するため、プロジェクト直下にある「build.sbt」を編集し、依存関係を定義します。"<バージョン>")に変更しておきましょう。Milestoneの「2.1.0-M2」を使用します。「libraryDependencies」にSlickへの依存設定を行いました。依存設定は「グループ名」%「アーティファクト名」%「リビジョン」の形式で設定します。「グループ名」%%「アーティファクト名」%「リビジョン」のように「グループ名」の後ろに「%」を2つ重ねるとアーティファクト名にScalaのバージョンが自動的に補完されます。今回使用しているScalaのバージョンは2.11.1なので、ダウンロードするSlickのアーティファクト名は「slick_2.11」です。source-with=true」を実行し、Eclipseのクラスパスファイル「.classpath」を再生成します。(3)Eclipseプラグインのインストール今回利用するH2の起動・停止を行うためにEclipseのプラグインである「DBLauncher」をインストールしておきます(直接コマンドから起動する場合や、異なるツールで行う場合は、本プラグインのインストールは必要はありません)。「ヘルプ」->「ソフトウェアのインストール」を選択し「インストール」ウィンドウを表示します。http://eclipse.seasar.org/updates/3.2/」を入力し、表示された一覧から「DBLauncher」を選択します。「次へ」を押下し、流れに沿ってインストール作業を完了させてください。次にEclipseからH2を利用するための設定を行います。H2のDBファイルを配備する任意のディレクトリを作成します。筆者はプロジェクト直下(techApp配下)に「data」というディレクトリを作成しました。続いて、プロジェクトのプロパティ(プロジェクトを右クリック->「プロパティ」を選択)からDBLauncherの設定をします。「H2データベースを使用」をチェックし、ベース・ディレクトリに先ほど作成したデータファイル配備用ディレクトリ(/techApp/data)を指定してください。インストールが完了したら、プラグインが利用できることを確認しておきましょう。パッケージ・エクスプローラーでプロジェクトを右クリックすると「H2」というメニューが追加されていますので、「H2サーバの起動」を選択するとH2が起動されます(「H2サーバの停止」で停止することができます)。「イベント管理アプリ」で使用するDBスキーマを作成します。「イベント管理アプリ」で必要なテーブルは「EVENT」テーブルのみです。パッケージ・エクスプローラーでプロジェクトを右クリック、「H2」->「データベース・マネージャーの表示」の順に選択すると、Webブラウザ上でH2に対してSQLを実行することができます。以下のスクリプトを実行し「TECHAPP」スキーマと「EVENT」テーブルを作成しましょう。NULL);(5)DBへの接続設定DBへの接続設定は「application.conf」に行います。configuration」欄にDBへの設定がコメントアウトされていますので、有効にし以下のように設定してください。`default`#db.default.driver=org.h2.Driverdb.default.url="jdbc:h2:tcp://localhost:9092/demo;SCHEMA=TECHAPP"db.default.user=sadb.default.password=""先ほど作成したH2の「TECHAPP」スキーマへ接続するように設定します。JDBCドライバーに「org.h2.Driver」、DB接続URLには「jdbc:h2:tcp://localhost:9092/demo;SCHEMA=TECHAPP」を指定し、ユーザは「sa」、パスワードは「なし」とします。戦略技術センター所属。これまで社内向けWebアプリケーションフレームワークの開発やJenkinsの活用を中心に様々な手段で開発の効率化を図ってきた。現在は、さらに革命的な効率化を目指し、Scalaを活用した次世代開発基盤の研究&開発に従事している。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。【NEW】デブスト2019デブサミ2019福岡・関西デブサミ2019夏デブスト関西デブサミ2019×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。