【Play Framework】Play Framework [1-3] ~ 入門編 / モデルの設定 ~

はじめに

http://blogs.yahoo.co.jp/dk521123/36077858.html
で、HelloWorldを作成したのが、今度はモデルおよびDBアクセスを絡めてみる
Eclipse のプロジェクトは、上記の関連記事のものを再利用する。

注意

 * play2.4からモデルの扱いが変わったらしい

環境設定

http://mofmof721.hatenablog.com/entry/2015/12/27/214818
が参考になる。
対象環境
 * DB : MySQL

手順

[0] DBにアクセスするためのJDBCドライバ(今回は「mysql-connector-java-5.1.38-bin.jar」)
    を事前にダウンロードしておく
[1] プロジェクト直下にフォルダ「lib」を作成し、そこに[0]のJDBCドライバを入れておき
    Ecipseにインポートしておく
[2] 3つのファイル「conf/application.conf」「project/plugins.sbt」「build.sbt」を修正する
    (以下「ファイル修正例」を参照)
[3] コマンドプロンプトで「cd 【インストール先】\【プロジェクト名】」まで移動して
   「activator update」を実行する
~~~~
■実行例
> cd C:\work\activator-1.3.10\bin\HelloWorld
> activator update
~~~~

[4] (念のため)Eclipseで[Project]-[Clean]を選択しておく
[5] Eclipse上で対象プロジェクトの「app」配下に、パッケージ「models」を作成する
[6] [5]で作成したパッケージ「models」配下に任意のクラス(今回は「Hello.java」)を作成する
     (以下「ファイル修正例」を参照)

ファイル修正例

https://www.playframework.com/documentation/2.5.x/JavaEbean
が参考になる。
【プロジェクト名】/conf/application.conf(2か所。「default.driver」などは自分のDB情報を入力)
・・・略・・・
play.evolutions {
  # You can disable evolutions for a specific datasource if necessary
  # コメントアウト
  db.default.enabled = false
}

・・・略・・・

・・・略・・・
db {
  # You can declare as many datasources as you want.
  # By convention, the default datasource is named `default`

  # https://www.playframework.com/documentation/latest/Developing-with-the-H2-Database
  # 修正
  default.driver=com.mysql.jdbc.Driver
  default.url="jdbc:mysql://localhost:3306/sampledb"
  default.username=username
  default.password="password"
  
  # You can turn on SQL logging for any datasource
  # https://www.playframework.com/documentation/latest/Highlights25#Logging-SQL-statements
  #default.logSql=true
}

# 追加
ebean.default = ["models.*"]
【プロジェクト名】/project/plugins.sbt(1か所)
// Play Ebean support, to enable, uncomment this line, and enable in your build.sbt using
// enablePlugins(PlayEbean). ↓コメントアウトし、"3.0.0"に修正
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "3.0.0")
【プロジェクト名】/build.sbt (2か所)
version := "1.0-SNAPSHOT"

# 修正
lazy val root = (project in file(".")).enablePlugins(PlayJava,PlayEbean)

scalaVersion := "2.11.7"

libraryDependencies ++= Seq(
  javaJdbc,
  cache,
  javaWs,
  "mysql" % "mysql-connector-java" % "5.1.20" # 追加
)
【プロジェクト名】/app/models/Hello.java
package models;

import com.avaje.ebean.Model;

public class Person extends Model {
 // 中身は別の記事に書く 
}
続きは以下の関連記事を参照のこと。
http://blogs.yahoo.co.jp/dk521123/36084590.html


関連記事

Play Framework [1-0] ~ 入門編 / 事前知識 ~

http://blogs.yahoo.co.jp/dk521123/36082733.html

Play Framework [1-1] ~環境構築 編~

http://blogs.yahoo.co.jp/dk521123/36058991.html

Play Framework [1-2] ~入門編 / Hello World

http://blogs.yahoo.co.jp/dk521123/36077858.html

Play Framework [1-4] ~ 入門編 / Hello World with DB ~

http://blogs.yahoo.co.jp/dk521123/36084590.html

Play Framework の環境構築時のトラブルシューティング

http://blogs.yahoo.co.jp/dk521123/36068396.html

O/Rマッパー [1] ~ Ebean ~

http://blogs.yahoo.co.jp/dk521123/36044963.html