1

我正在使用 slick 2.0 与数据库进行交互。

按照建议,我使用 BonesCP 添加了外部连接池。

val driver =  Class.forName(Database.driver)
val ds = new BoneCPDataSource(); 
ds.setJdbcUrl(Database.jdbcUri);        
ds.setUsername(Database.user);  
ds.setPassword(Database.password);

使用它我创建了我的连接:

scala.slick.jdbc.JdbcBackend.Database.forDataSource(ds)
    db withSession {implicit  session =>
         (...)
    }
  }

现在,如果我对我的TableQuery对象做这样的事情:

provisioning.foreach {(...)}

它说没有 foreach 方法。

所以我进口了: import scala.slick.driver.PostgresDriver.simple._

现在一切正常。

我不喜欢的是我的代码与某个数据库实现相关联。

我可以以某种方式让它从配置文件中读取“db方言”吗?

4

1 回答 1

0

所以现在我知道应该如何正确地做到这一点。我参加过 Stefan Zeiger 在 Slick 上的演讲,他是该库的原作者,他指出,由于PostgresDriver和其他驱动程序一样,我们可以混合它而不是导入它。因此有机会动态选择适合我们数据库的驱动程序。

于 2014-04-23T13:12:11.643 回答