この記事の前にPlay Frameworkを使ってみるの記事を2つ書いています。
そちらも合わせて御覧ください。
Play Frameworkを使ってみる vol.1
Play Frameworkを使ってみる vol.2
もう、そろそろ環境設定とか飽きた・・・・
ので、データベースつないでゴニョゴニョやりたいと思います。
・・・・とは言え
DB接続にも設定がありますので、我慢して設定をします。
つなぎ方はvol.1で動いていた初期ページに書いていました。
Need to connect to a database?
You can quickly set up a developement database (either in memory or written to the filesystem),
by adding these lines to theconf/application.conf
file:db.default.driver=org.h2.Driver db.default.url="jdbc:h2:mem:play"
If you need to connect to another JDBC compliant database, first add the corresponding driver library
to your application dependencies:val appDependencies = Seq( "mysql" % "mysql-connector-java" % "5.1.18" )
And then add the corresponding JDBC configuration to the
conf/application.conf
file:db.url=jdbc:mysql:database_name db.driver=org.mysql.Driver db.user=root db.pass=secret
なるほどなるほど・・・(T_T)
英語よくわかんねw
このままHSQLでもいいんだろうけど、結局MySQLになるだろうからはじめからMySQLでやっておきたい。
まぁ、雰囲気だなw と思ったら。あ、そうだ、日本語版があったんだった・・・
というわけでこちら参考サイトです↓
Play 2.0 ドキュメント
あー
MySQLのドライバがないのか・・・・
なんと、SBTで自動取得してくれるとのこと・・・
下記のようにやればいいみたい。
Build.scala を下記のように修正しました。
// Add your project dependencies here,
)
の部分を
“mysql” % “mysql-connector-java” % “5.1.21”
)
※5.1.21 の部分は持ってきたいドライバのバージョンです。
それから
conf/application.conf
をいじります。
この例ではMySQLに
データベース名:playsamp
ユーザ名 :playsamp
パスワード :playsamp
でデータベースを作ってあるとして書いています。
適宜変更してください。
# ~~~~~
# You can declare as many datasources as you want.
# By convention, the default datasource is named `default`
#
# db.default.driver=org.h2.Driver
# db.default.url=”jdbc:h2:mem:play”
# db.default.user=sa
# db.default.password=
db.default.driver=com.mysql.jdbc.Driver
db.default.url=”jdbc:mysql://localhost/playsamp?characterEncoding=UTF8″
db.default.user=playsamp
db.default.password=playsamp
ちなみにMySQLはxamppがインストールしてあったのでそのMySQLを使用しています。
Apacheは今回上げる必要はありませんが、phpMyAdminを利用する際は起動が必要です。
とりあえず、設定が終わったら、いつものように・・・
このプロジェクトを起動・・・
vol.1 で作ったりしたパスを通してコマンドプロンプト上げるバッチで起動するか。
コマンドプロンプトたちあげて
としてからvol.1で作ったアプリケーションのなかに移動して
アプリケーション起動!!
このとき、Build.scala にて設定されたものがなければDOWNLOADされます。
ject
[info] Updating {file:/C:/dev/workspace/playsamp/app/project/project/}default-b9
e616…
[info] Resolving org.scala-sbt#sbt_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#main_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#actions_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#classfile_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#io_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#control_2.9.1;0.11.3 …
[info] Resolving org.scala-lang#scala-library;2.9.1 …
[info] Resolving org.scala-sbt#interface;0.11.3 …
[info] Resolving org.scala-sbt#logging_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#process_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#classpath_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#launcher-interface_2.9.1;0.11.3 …
[info] Resolving org.scala-lang#scala-compiler;2.9.1 …
[info] Resolving org.scala-sbt#incremental-compiler_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#collections_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#api_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#persist_2.9.1;0.11.3 …
[info] Resolving org.scala-tools.sbinary#sbinary_2.9.0;0.4.0 …
[info] Resolving org.scala-sbt#compile_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#ivy_2.9.1;0.11.3 …
[info] Resolving org.apache.ivy#ivy;2.2.0 …
[info] Resolving com.jcraft#jsch;0.1.46 …
[info] Resolving commons-httpclient#commons-httpclient;3.1 …
[info] Resolving commons-logging#commons-logging;1.0.4 …
[info] Resolving commons-codec#commons-codec;1.2 …
[info] Resolving org.scala-sbt#completion_2.9.1;0.11.3 …
[info] Resolving jline#jline;0.9.94 …
[info] Resolving org.scala-sbt#run_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#task-system_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#tasks_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#tracking_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#cache_2.9.1;0.11.3 …
[info] Resolving org.scala-sbt#testing_2.9.1;0.11.3 …
[info] Resolving org.scala-tools.testing#test-interface;0.5 …
[info] Resolving org.scala-sbt#compiler-interface;0.11.3 …
[info] Resolving org.scala-sbt#precompiled-2_8_2;0.11.3 …
[info] Resolving org.scala-sbt#precompiled-2_8_1;0.11.3 …
[info] Resolving org.scala-sbt#precompiled-2_9_2;0.11.3 …
[info] Done updating.
[info] Loading project definition from C:\dev\workspace\playsamp\app\project
[info] Set current project to app (in build file:/C:/dev/workspace/playsamp/app/
)
[app] $ run
[info] Updating {file:/C:/dev/workspace/playsamp/app/}app…
[info] Resolving org.hibernate.javax.persistence#hibernate-jpa-2.0-api;1.0.1.Fin
[info] downloading http://repo.typesafe.com/typesafe/releases/mysql/mysql-connec
tor-java/5.1.21/mysql-connector-java-5.1.21.jar …
[info] [SUCCESSFUL ] mysql#mysql-connector-java;5.1.21!mysql-connector-java.jar
(3053ms)
[info] Done updating.
— (Running the application from SBT, auto-reloading is enabled) —
[info] play – Listening for HTTP on port 9000…
(Server started, use Ctrl+D to stop and go back to the console…)
そして、ブラウザで「http://localhost:9000」を見てみます。
・・・・画面は全く変わりません。(なにも作ってないから当たり前w)
しかし、コンソールを見ると・・・
[info] play – Listening for HTTP on port 9000…
(Server started, use Ctrl+D to stop and go back to the console…)
[info] play – database [default] connected at jdbc:mysql://localhost/playsamp?ch
aracterEncoding=UTF8
[info] play – Application started (Dev)
ああ、しっかりと MySQLにコネクトしているのがわかります。
今日は、こんなところで・・・・
いやぁ、実は、これ書きながら
一時はMySQLのDriverダウンロードしたりして
いろいろ悩んだわw
一応、これでも動いた・・・という感じで
書いておきます。
どうしても動かない場合はこれでもいいのかな・・・と。
久しぶりにMySQLドライバーをダウンロード。
MySQL::Download Connector/jで解凍した「mysql-connector-java-5.1.21」フォルダ ※20120823時点最新版
を playframeworkのディレクトリのrepository/localに突っ込みました。
(Vol.1,vol.2のままで行くとここは「C:\dev\play\repository\local」です。)そして、Eclipse上でクラスパスを通します。
(ビルド・パスに追加 ※アプリケーション名を右クリック→ビルド・パス→ビルド・パスの構成)