Playframework2.6+: 在play-scala项目中使用Ebean

Playframework2:轻量级的JavaWeb开发框架,区别于大多数的框架,它没有构建在servlet技术栈之上,但同样提供了一个开发现代Web应用所需的所有必备东西。
官网: https://www.playframework.com

Ebean ORM:轻量级的ORM框架,提供ORM框架所需要的大部分东西,支持大部分JPA的注解。无需关注JPA,Hibernate等ORM框架众多复杂的概念,如实体状态管理等。
官网: https://ebean.io

Scala : 基于JVM并将面向对象和函数式编程语言的最佳特性结合在一起的编程语言。使用Scala通常能编写出更加精简的代码,同时能充分利用并发的威力。
官网: https://www.scala-lang.org/

作为同样不走寻常路的工具,Play提供了对Ebean的支持。

Play的官方文档的ebean部分介绍了play-java工程的集成,
本文介绍在play-scala工程中使用Ebean。

相关环境:jdk8+,sbt1.0+,playframework2.7.x。

开始前需要安装好jdk8+和sbt构建工具,教程有很多,这里不做介绍了。

Playframework部分的集成过程

新建play-scala工程:

sbt new playframework/play-scala-seed.g8

依照提示操作,如图:

在project/plugins.sbt添加sbt-play-ebean插件:

addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "5.0.1")

在build.sbt启用插件:

lazy val root = (project in file(".")).enablePlugins(PlayScala,PlayEbean)

在app源目录中新建models包,并在conf/application.conf中对ebean做相应配置:

ebean.default = ["models.*"]

配置jdbc,配置数据库,这里选用H2
在build.sbt中添加依赖:

libraryDependencies += javaJdbc
libraryDependencies += "com.h2database" % "h2" % "1.4.199"

在conf/application.conf中配置数据库驱动,url等信息:

db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"

新建一个model类测试是否正常工作:

package models
import io.ebean.{Finder, Model}
import javax.persistence.{Entity, Id}
@Entity
class ItWork extends  Model{
  var name:String = _
object ItWork{
  val find = new Finder[Long, ItWork](classOf[ItWork])

命令行 sbt run 运行工程,访问 localhost:9000: