【问题标题】:Using a database with the Play framework在 Play 框架中使用数据库
【发布时间】:2012-06-28 23:19:44
【问题描述】:

我一直在学习本教程来熟悉 Play 框架:

http://www.playframework.org/documentation/2.0.2/ScalaTodoList

当到达“将任务保存在数据库中”部分时,我不清楚我是否必须做任何事情来启动数据库,或者这是否是自动为我完成的。我目前收到此错误:

[例外:数据库插件未注册。]

【问题讨论】:

  • 你看到this question了吗?
  • 是的,Google 发送给我的所有地方我都只遇到过这个问题。我的 application.conf 文件没有发现任何问题。

标签: database scala playframework playframework-2.0


【解决方案1】:

这取决于您使用的数据库类型。

H2 数据库(Play! 教程中使用的那个)可以用作an in-memory database or as a disk based database。如果您使用此数据库,Play 将为您处理一切。您无需运行特定服务即可拥有持久数据库。

但是您必须在application.conf 中描述要使用哪个驱动程序以及要访问哪个网址:

db.default.driver=org.h2.Driver

db.default.url="jdbc:h2:mem:play"

由于您的类路径中可能没有正确的驱动程序,因此您必须包含此驱动程序库。如Play2 documentation 中所述,您可以在project/Build.scala 中进行管理。对于h2 driver lib,依赖项将是:

val appDependencies = Seq(
  "com.h2database" % "h2" % "1.3.167"
)

更改依赖项后,您需要重新加载应用程序构建文件并更新依赖项:

//in sbt
reload
update

解释了如何将您的游戏应用程序与数据库链接here

如果您想使用其他数据库(Mysql、Postgresql...),您必须自己运行数据库服务并重复此处描述的步骤。

【讨论】:

  • 赞成知识,但这仍然不能解决问题。我修改了 Build.scala 并重新加载并更新了整个项目,但错误仍然存​​在。 FWIW:添加 1.sql 脚本文件并刷新页面后,我没有收到 Apply 脚本页面。
  • 你应该从头开始教程,问题在于数据库插件注册。您的 application.conf 应该有问题。检查应用程序“dbplugin = disabled”是否不存在,并且文件中有 db.default conf
  • h2驱动与play 2捆绑在一起,所以不需要包含依赖。见playframework.com/documentation/2.0.4/ScalaDatabase
猜你喜欢
  • 1970-01-01
  • 2014-05-15
  • 2012-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-05
  • 1970-01-01
相关资源
最近更新 更多