play new DataPersistenceApp
package models;
import io.ebean.Model;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class User extends Model {
@Id
public Long id;
public String name;
public String email;
}
db.default.driver = "com.mysql.jdbc.Driver"
db.default.url = "jdbc:mysql://localhost:3306/mydb"
db.default.username = "your_username"
db.default.password = "your_password"
package dao;
import io.ebean.Ebean;
import models.User;
public class UserDao {
public User findById(Long id) {
return Ebean.find(User.class, id);
}
public void save(User user) {
Ebean.save(user);
}
public void update(User user) {
Ebean.update(user);
}
public void delete(User user) {
Ebean.delete(user);
}
}
package controllers;
import io.ebean.Ebean;
import models.User;
import play.data.Form;
import play.data.FormFactory;
import play.mvc.Controller;
import play.mvc.Result;
import javax.inject.Inject;
public class UserController extends Controller {
@Inject
private FormFactory formFactory;
public Result getUser(Long id) {
User user = Ebean.find(User.class, id);
return ok(user.toString());
}
public Result saveUser() {
Form<User> form = formFactory.form(User.class).bindFromRequest();
if (form.hasErrors()) {
return badRequest(form.errorsAsJson());
}
User user = form.get();
Ebean.save(user);
return ok("User saved successfully!");
}
}
GET /user/:id controllers.UserController.getUser(id: Long)
POST /user controllers.UserController.saveUser()
play run