直到我在我的应用程序中只使用一个数据库。所以对于任何 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 命令。
最佳答案
顾名思义,名为default
的数据源用作所有连接的默认值。你可以看到 withConnection()方法采用带有数据源名称的参数,但如果未传递任何内容,则使用“默认”代替。
要使用额外的数据源,您必须将其指定为 withConnection() 方法的参数。
DB.withConnection("um") { conn =>
// implement your action
}
关于database - 我如何在播放框架中使用默认数据库以外的其他数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29799008/