如何在play-framework中使用默认值以外的其他数据库?

时间:2015-04-22 13:25:31

标签: database scala playframework-2.3

直到我在我的应用程序中只使用一个数据库。所以对于任何sql查询,我只是使用默认数据库。下面给出了有关数据库的信息。

db.default.driver=org.postgresql.Driver
db.default.url="postgres://user:password@localhost:5439/database_name"

这些信息保存在appliction.conf文件中。在下面的代码中,DB是默认数据库。

DB.withConnection {
  conn =>
    {
      val statement = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)
      try {
        statement.execute(sql)
      }
      catch {
        case e: Exception => Logger.debug("There is some error with the database")
      }
    }
}

但我需要使用另一个数据库。下面给出了有关数据库的信息。

db.um.driver=com.mysql.jdbc.Driver
db.um.url="mysql://user:password@localhost:3306/database_name"

这些信息也保存在application.conf文件中。现在我如何访问该数据库并运行sql命令。

1 个答案:

答案 0 :(得分:0)

如果有人像我一样,正在使用Play 2.6中的多个数据资源:这不是答案。

当我们使用Database注入@NamedDatabase的实例时,我们需要定义数据库的名称:

class Customer @Inject()(@NamedDatabase("customer") db: Database){ ??? }