HasDatabaseConfigProvider
play.api.db.slick.HasDatabaseConfigProvider
trait HasDatabaseConfigProvider[P <: BasicProfile] extends HasDatabaseConfig[P]
Mix-in this trait if you need a Slick database and profile, and you are using dependency injection for obtaining an instance of DatabaseConfigProvider
. If you are not using dependency injection, then prefer mixing HasDatabaseConfig
instead.
This trait is useful if you need to define a Slick table or need to execute some operation in the database.
==Example==
// model definition
class Cat(name: String, color: String)
// DAO definition
class CatDAO @Inject()(protected val dbConfigProvider: DatabaseConfigProvider) extends HasDatabaseConfigProvider[RelationalProfile] {
import profile.api._
private val Cats = TableQuery[CatsTable]
def all() = db.run(Cats.result)
def insert(cat: Cat) = db.run(Cats += cat)
// Slick table definition
private class CatsTable(tag: Tag) extends Table[Cat](tag, "CAT") {
def name = column[String]("NAME", O.PrimaryKey)
def color = column[String]("COLOR")
def * = (name, color) <> (Cat.tupled, Cat.unapply _)
}
}
Of course, you do not need to define a DAO to use this trait (the above it is really just an example of usage).
Attributes
- Graph
-
- Supertypes
Members list
In this article