3

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

4

3 回答 3

11
  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"
    )
    

    如果你错过了这一步,你可能会碰到这个问题

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

    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. 使用SORMapp/controllers/Application.scala实施一些控制器操作,例如:

    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 run使用orplay start命令运行你的服务器。

于 2013-02-21T04:06:08.943 回答
2

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

参考:Build.scala 不是在游戏中创建的

您可以从 build.sbt 文件继续

外汇:

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

对于新用途:

在 Play Framework 2.3.8 中使用 SORM

于 2016-03-02T21:33:10.350 回答
0
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
)
于 2017-02-21T01:17:17.043 回答