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: