Documentation

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

§データベースライブラリの利用

Play の play.api.db.DB ヘルパーを使って ConnectionDatasource を取得すると、あらゆる SQL データベースアクセスライブラリを利用することができます。

§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

次ページ: キャッシュ