ツールプロジェクトの準備

slick-codegen-play2.3-slick2.1.zip をダウンロードし、以下のようにplay2-hands-onプロジェクトと同じディレクトリに展開します。

+-/play2-hands-on
|   |
|   +-/app
|   |
|   +-/conf
|   |
|   +-...
|
+-/slick-codegen
    |
    +-/project
    |
    +-/src
    |
    +-...

H2の起動

Windowsの場合

まず、slick-codegenプロジェクトのh2/start.batをダブルクリックしてH2データベースを起動します。データベースには以下のスキーマのテーブルが作成済みの状態になっています。

Macの場合

cd slick-codegen/h2/
sh start.sh

※起動後、そのターミナルは閉じないでください。

アプリケーションで使用するER図

モデルの自動生成

SlickではタイプセーフなAPIを使用するために

  • タイプセーフなクエリで使うテーブル定義
  • エンティティオブジェクト

を用意する必要がありますが、これらはSlickが標準で提供しているジェネレータを使用することでDBスキーマから自動生成することができます。

slick-codegenプロジェクトのルートディレクトリで以下のコマンドを実行します。

Windowsの場合

sbt gen-tables

Macの場合

./sbt.sh gen-tables

するとplay2-hands-onプロジェクトのapp/modelsパッケージにモデルクラスが生成されます。

生成されたモデル

DB接続の設定

play2-hands-onプロジェクトのconf/application.confにDB接続のための設定を行います。

変更前:

# db.default.driver=org.h2.Driver
# db.default.url="jdbc:h2:mem:play"
# db.default.user=sa
# db.default.password=""

変更後:

db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:tcp://localhost/data"
db.default.user=sa
db.default.password=sa