Documentation

§その他のデータベースライブラリとの統合

Play ではあらゆる SQL データベースアクセスライブラリを利用することができますし、play.api.db.DB ヘルパーを使えば ConnectionDatasource を簡単に取得することが可能です。

§ScalaQuery との統合

JDBC データソースを必要とする JDBC アクセスレイヤーを利用する方法を説明します。例えば、ScalaQuery との連携は以下のようになります。

import play.api.db._
import play.api.Play.current

import org.scalaquery.ql._
import org.scalaquery.ql.TypeMapper._
import org.scalaquery.ql.extended.{ExtendedTable => Table}

import org.scalaquery.ql.extended.H2Driver.Implicit._ 

import org.scalaquery.session._

object Task extends Table[(Long, String, Date, Boolean)]("tasks") {
    
  lazy val database = Database.forDataSource(DB.getDataSource())
  
  def id = column[Long]("id", O PrimaryKey, O AutoInc)
  def name = column[String]("name", O NotNull)
  def dueDate = column[Date]("due_date")
  def done = column[Boolean]("done")
  def * = id ~ name ~ dueDate ~ done
  
  def findAll = database.withSession { implicit db:Session =>
      (for(t <- this) yield t.id ~ t.name).list
  }
  
}

§JNDI 経由でデータソースを提供する

いくつかのライブラリは Datasource を JNDI 経由で取得します。conf/application.conf に設定を追加することで Play が管理するデータソースを JNDI 経由で提供することができるでしょう。

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

Next: キャッシュを使う


このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。