我正在使用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
。它不包含任何数据库类或对象。
我如何让这件事起作用? 任何类型的链接或建议都是完全可感知的。
答案 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
)
}
}