我在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
已经存在,所以再次进入所有这些设置没有多大意义。