Play Framework 2.6中的JDBC连接

时间:2018-01-31 15:32:40

标签: scala jdbc playframework

我正在使用Play-2.6并希望将Play应用程序连接到postgreSQL。

application.conf文件中我有

play.db { 

  # The combination of these two settings results in "db.default" as the
  # default JDBC pool:
  config = "db"
  default = "default"

  default.driver = org.postgresql.Driver
  default.url = jdbc:postgresql://localhost:5432/mydb1
  default.username = "postgres"
  default.password = "postgres"

} 

build.sbt文件中我有

libraryDependencies += jdbc
libraryDependencies +="org.postgresql" % "postgresql" % "9.4-1206-jdbc42" <br/>

在服务类RadioParameters.scala中,我尝试使用

访问数据库
import models._
import play.api.db._
import java.sql._
import java.sql.Connection
import java.sql.DriverManager._


class RadioParameters(_ap_mac_id:String) {
         val ap_mac_id =_ap_mac_id

  def radioparameters:radio = {

                **val connection =  DB.getConnection()**
                .....
  }

我收到错误:

**\RadioParameters.scala:38:35: not found: value DB
val connection =  DB.getConnection() <br/>**

我尝试将其替换为数据库,db但似乎没有任何效果。我已经看到在网络上的某个地方访问这样的数据库。 我在Eclipse中检查了play-jdbc-api_2.12-2.6.7。它不包含任何数据库类或对象。

我如何让这件事起作用? 任何类型的链接或建议都是完全可感知的。

1 个答案:

答案 0 :(得分:1)

Play 2.6使用依赖注入,DB不再可用,尝试类似:

@Singleton
class RadioParameters @Inject()(db: DBApi) {
  val dbName = "default"

  def radioparameters():radio = {
    db.database(dbName).withConnection(implicit connection =>
      //db call
    )
  }
}