如何在Play框架中使用SORM框架? [英] How to use SORM framework with Play Framework?

查看:97
本文介绍了如何在Play框架中使用SORM框架?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现 SORM 非常有趣并且很有前途,但是我找不到一种可以与任何指南进行整合的方法吗?

I find SORM very Interesting and promising but I cant find a way to Integrate It with play any guides?

推荐答案

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

  • 在同一文件中,确保您的项目依赖于SORM所依赖的同一Scala版本(对于SORM 0.3.8,它是Scala 2.10.1):

  • In the same file make sure that your project depends on the same Scala version, on which SORM depends (for SORM 0.3.8 it's Scala 2.10.1):

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

    如果您错过了这一步,则可能遇到此问题.

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

    In app/models/package.scala place all your case classes and SORM's instance declaration, e.g.:

    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实例放置在控制器中,也可以放置在其他位置.

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

    In app/controllers/Application.scala place some controller actions utilizing SORM, e.g.:

    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.

    This will print out a generated id of the saved A case class value.

    使用play runplay start命令运行服务器.

    Run your server using play run or play start command.

    这篇关于如何在Play框架中使用SORM框架?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆