hakandilek / play2-crud

Simple CRUD & DAO implementation for play2
Other
142 stars 52 forks source link
crud crud-controllers dao java play-framework play2-crud playframework

play2-crud

Join the chat at https://gitter.im/hakandilek/play2-crud

Powerful CRUD & DAO implementation with REST interface for play framework 2.x

For the Typesafe Activator check play2-crud-activator.

Some screenshots

Quick Start

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.

Add play2-crud dependency

You can begin with adding play2-crud dependency inside conf/Build.scala file.

    val appDependencies = Seq(
        javaCore, javaJdbc, javaEbean,
        "play2-crud" % "play2-crud_2.10" % "0.7.0"
    )
    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/"
    )

Associate Global settings

Direct reference

If you don't want to override the play application launcher, you just have to notice to play that the class to use as launcher is now GlobalCRUDSettings. Change the application.global configuration key in the conf/application.conf file, and use play.utils.crud.GlobalCRUDSettings:

...
application.global=play.utils.crud.GlobalCRUDSettings
...

Define routes

# CRUD Controllers
->     /app             play.crud.Routes

# REST API
->     /api             play.rest.Routes

Define model

@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;
   }
}

... call http://localhost:9000/app and voila!

Samples

HOW-TO

Here you can find some HOW-TO documents introducing some powerful functionality: