Powerful CRUD & DAO implementation with REST interface for play framework 2.0 and 2.1
Play 2.2 support is coming soon!
- Sample with basic dynamic CRUD controllers
- Sample with custom views is a full featured sample.
- Full featured sample with DAO and DAOListeners
- Sample with Cache usage
Follow these steps to use play2-crud. You can also use it partially just for DAO or CRUD controllers. If you think any part needs further explanation, please report a new issue.
You can begin with adding play2-crud dependency inside conf/Build.scala
file.
- Add app dependency:
val appDependencies = Seq(
javaCore, javaJdbc, javaEbean,
"play2-crud" % "play2-crud_2.10" % "0.7.0"
)
-
Here in the sample, it is defined for version 0.7.0, but you can use the latest version accordingly.
-
Add custom maven repositories:
val main = play.Project(appName, appVersion, appDependencies).settings(
//maven repository
resolvers += "release repository" at "http://hakandilek.github.com/maven-repo/releases/",
resolvers += "snapshot repository" at "http://hakandilek.github.com/maven-repo/snapshots/"
)
- Change the
application.global
configuration key in theconf/application.conf
file, aand useplay.utils.crud.GlobalCRUDSettings
:
...
application.global=play.utils.crud.GlobalCRUDSettings
...
- If the above key is commented, you can just uncomment the configuration line, and change it.
- You can also use a class which is extending
play.utils.crud.GlobalCRUDSettings
.
# CRUD Controllers
-> /app play.crud.Routes
# REST API
-> /api play.rest.Routes
- Model class has to implement
play.utils.dao.BasicModel
with the type parameter indicating the type of the@Id
field.
@Entity
public class Sample extends Model implements BasicModel<Long> {
@Id
private Long key;
@Basic
@Required
private String name;
public Long getKey() {
return key;
}
public void setKey(Long key) {
this.key = key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
- Here the
Sample
model class implementsBasicModel<Long>
wherekey
field indicated with@Id
isLong
.
... call http://localhost:9000/app and voila!
Here you can find some HOW-TO documents introducing some powerful functionality: