首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scalaquery中的不同开发/生产数据库

scalaquery中的不同开发/生产数据库
EN

Stack Overflow用户
提问于 2012-11-17 10:38:35
回答 2查看 166关注 0票数 2

ScalaQuery要求(AFAIK)在代码中使用特定于提供程序的导入,例如:

代码语言:javascript
复制
import org.scalaquery.ql.extended.H2Driver.Implicit._

我们正在尝试在开发模式中使用H2,在生产模式中使用MySQL。有没有办法做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2012-11-17 11:18:59

我的方法是:

代码语言:javascript
复制
class Subscribers(database: Database)(profile: ExtendedProfile) {
    import profile.Implicit._
}

其中订阅者基本上是我的数据访问对象。不确定这是不是最好的方法。它解决了我的案子。

您可以像这样创建这样的DAO:

...in生产代码:

代码语言:javascript
复制
new Subscribers(database)(MySQLDriver)

测试代码中的...and:

代码语言:javascript
复制
new Subscribers(database)(H2Driver)
票数 2
EN

Stack Overflow用户

发布于 2012-11-17 10:46:18

我在playframework中使用了以下代码

代码语言:javascript
复制
object test {
  lazy val extendedProfile = {
    val extendedProfileName = Play.configuration getString "db.default.extendedProfile" get
    companionObjectNamed(extendedProfileName).asInstanceOf[ExtendedProfile]
  }

  def companionObjectNamed(name: String) : AnyRef = {
    val c = Class forName (name + "$")
    c.getField("MODULE$") get c
  }
}

然后导入

代码语言:javascript
复制
import util.extendedProfile.Implicit._

org.scalaquery.ql.extended.MySQLDriver是我在配置中用来使mysql工作的字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13427132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档