Scala / Play / Slick:在DB.withSession中选择数据库名称

时间:2013-11-27 15:49:21

标签: scala playframework playframework-2.0 slick play-slick

我在Scala / Play项目中使用Slick。

在配置中我已经定义了我的数据库URL:

db.default.url="jdbc:mysql://localhost"

我有这个运行查询的简单方法。我需要它来处理多个数据库(无法在conf中定义),所以我将数据库名称作为参数传递:

def getData(db: String): String = DB.withSession {
    sql"""SELECT myColumn FROM #$db.myTable LIMIT 1""".as[String].firstOption
}

这很好用。但我需要的是将上面的例子转换为:

def getData(db: String): String = DB.withSession {
    sql"""SELECT myColumn FROM myTable LIMIT 1""".as[String].firstOption
}

而不仅仅是DB.withSession我需要以某种方式选择使用参数db传递的数据库名称。我怎么能这样做?

更新:我了解像Database.forURL("jdbc:mysql://localhost/dbName")这样的内容可以使用,但它还需要用户名,密码等,这对于默认连接DB已经存在,所以再次进入所有这些设置没有多大意义。

0 个答案:

没有答案