Documentation

You are viewing the documentation for the 2.2.0 release in the 2.2.x series of releases. The latest stable release series is 2.4.x.

§SQL データベースアクセス

§JDBC コネクションプールの構成

Play には JDBC コネクションプールを管理するプラグインが同梱されています。これを使って、必要なだけデータベースへの接続設定を書くことができます。

ビルドの依存性に javaJdbc を追加してデータベースプラグインを有効化します :

val appDependencies = Seq(
  javaJdbc
)

その後、conf/application.conf ファイルでコネクションプールの設定を行う必要があります。規約によって、デフォルトの JDBC データソースは default でなければなりません。

# Default database configuration
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"

複数のデータソースの設定は以下のように行われます。

# Orders database
db.orders.driver=org.h2.Driver
db.orders.url="jdbc:h2:mem:orders"

# Customers database
db.customers.driver=org.h2.Driver
db.customers.url="jdbc:h2:mem:customers"

もし何かが適切に設定されていなければ、ブラウザから直接気付くことになります。

§JDBC データソースの参照

play.db パッケージには、設定したデータソースを参照する方法が用意されています。

import play.db.*;

DataSource ds = DB.getDatasource();

§JDBC コネクションの取得

JDBC コネクションも同じように取得できます。

Connection connection = DB.getConnection();

取得された Connection がリクエストサイクルの終わりに自動的に破棄されないことに気を付けることは重要です。別の言い方をすれば、あなたには Connection が直ちにプールに返却されるよう、コードのどこかで close() メソッドを呼び出す責任があります。

§JNDI にデータソースを公開する

一部のライブラリは JNDI からデータソースを取得する事を想定しています。 Play の管理下にあるデータソースを JNDI に公開するには、以下の設定を conf/application.conf に追加します。

db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
db.default.jndiName=DefaultDS

§データベースドライバをインポートする

主に開発時に有効である H2 のインメモリデータベースを除いて、 Play はデータベースドライバを何も提供していません。このため、本番環境にデプロイするには、必要なデータベースドライバを依存性として追加する必要があるでしょう。

例えば MySQL5 を使用する場合、コネクタのために 依存性 を追加する必要があります:

val appDependencies = Seq(
     // Add your project dependencies here,
     ...
     "mysql" % "mysql-connector-java" % "5.1.18"
     ...
)

次ページ: Ebean によるデータベースアクセス