Grails を使って簡単な Web アプリを作成

Grails は、Groovy 用の Ruby on Rails ライクなフレームワークで、 DB のテーブルを元にクラスへのマッピングを行う RoR とは異なり、Groovy で定義したドメインクラスを元に DB のテーブルを自動生成するという特徴がある。

個人的には、DB のテーブルありきな RoR のアプローチよりも、Grails のアプローチの方が好みだ。

Grails で Web アプリケーションを作成する手順は以下の通り。

  1. アプリケーションの作成
  2. ドメインクラスの作成
  3. コントローラーとビューの作成
  4. 実行

アプリケーションの作成

以下のコマンドを実行して Grails のアプリケーションを作成する。

grails create-app [アプリケーション名]

>grails create-app testapp

ドメインクラスの作成

作成したアプリケーションのディレクトリに移動して以下のコマンドを実行する

grails create-domain-class [ドメインクラス名]

>grails create-domain-class Store
>grails create-domain-class Product

grails-app/domain ディレクトリに生成されたドメインクラスにプロパティや関連を定義する。

以下の例では Store と Product との間に 1対多 の関連を定義している。

Store.groovy
class Store { 
    static hasMany = [products : Product]

    String name
}
Product.groovy
class Product { 
    static belongsTo = Store

    Store store
    String title
}

コントローラーとビューの作成

以下のコマンドでドメインクラス用のコントローラーやビューが生成される

grails generate-all [ドメインクラス名]

>grails generate-all Store
>grails generate-all Product

実行

以下のコマンドを実行すると Web アプリケーションが実行されるので http://localhost:8080/[アプリケーション名]/ に Web ブラウザでアクセスして動作を確認する。

>grails run-app

Store の編集画面で Product を追加できるようになっており、Store と Product 間の 1対多 の関連が反映されていることが確認できる。