【问题标题】:How to use SORM framework with Play Framework?如何将 SORM 框架与 Play 框架一起使用?
【发布时间】:2013-02-16 07:28:40
【问题描述】:

我发现SORM 非常有趣和有前途,但我找不到将它与任何指南集成的方法?

【问题讨论】:

    标签: scala orm playframework sorm


    【解决方案1】:
    1. 安装 Play >= 2.1.0.
    2. 使用 Play 的指南生成项目
    3. 将适当的 SORM 和所选数据库的依赖项添加到生成的 project/Build.scala,例如:

      val appDependencies = Seq(
        "org.sorm-framework" % "sorm" % "0.3.8",
        "com.h2database" % "h2" % "1.3.168"
      )
      
    4. 在同一个文件中,确保您的项目依赖于 SORM 所依赖的同一个 Scala 版本(对于 SORM 0.3.8,它是 Scala 2.10.1):

      val main = play.Project(appName, appVersion, appDependencies).settings(
        scalaVersion := "2.10.1"
      )
      

      如果你错过了这一步,你可能会碰到this issue

    5. app/models/package.scala 中放置所有案例类和 SORM 的实例声明,例如:

      package models
      
      case class A( name : String )
      case class B( name : String )
      
      import sorm._
      object Db extends Instance(
        entities = Set(Entity[A](), Entity[B]()),
        url = "jdbc:h2:mem:test"
      )
      

      请注意,无需遵循这些命名和位置约定 - 例如,您可以根据需要将 SORM 实例放在控制器或其他地方。

    6. app/controllers/Application.scala 中放置一些使用 SORM 的控制器操作,例如:

      package controllers
      
      import play.api.mvc._
      import models._
      
      object Application extends Controller {
      
        def index = Action {
          val user = Db.save(A("test"))
          Ok(user.id.toString)
        }
      
      }
      

      这将打印出保存的A 案例类值的生成ID。

    7. 使用play runplay start 命令运行您的服务器。

    【讨论】:

    【解决方案2】:

    Play 已更新为使用新的构建文件格式

    参考:Build.scala is not created in play

    你可以从 build.sbt 文件继续

    外汇:

    libraryDependencies ++= Seq(
      jdbc,
      cache,
      "org.sorm-framework" % "sorm" % "0.3.8",
      ws,
      specs2 % Test
    )
    

    新用途:

    Using SORM with Play Framework 2.3.8

    【讨论】:

      【解决方案3】:
      libraryDependencies ++= Seq(
      jdbc,
      cache,
      ws,
      "org.sorm-framework" % "sorm" % "0.3.22",
      "com.h2database" % "h2" % "1.3.168",
      "org.scalatestplus.play" %% "scalatestplus-play" % "1.5.1" % Test
      )
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-08
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      相关资源
      最近更新 更多