Tutoriel CRUD simple sur Play Framework et MySQL en utilisant Ebean?


Je suis nouveau pour jouer au Framework. J'ai commencé à apprendre et jusqu'à présent je suis en jouir. J'ai commencé à apprendre à jouer Java.

J'ai mon contrôleur et mon modèle configurés comme suit:

Contrôleur:

package controllers;

import play.mvc.Controller;
import play.mvc.Result;

//Import Product model
import models.Product;

public class Products extends Controller{


    /**
     * List all Products
     */
    public static Result list(){
        Object allProducts = Product.findAll();
        return ok((Content) allProducts); //return all products
    }
}

Modèle:

package models;

import java.util.List;
import play.db.*;

import play.api.db.DB;

import com.avaje.ebean.Ebean;
import com.avaje.ebean.Query;

public class Product {

    public int id;
    public String name;
    public String description;

    public Product(){

    }

    public Product(int id, String name, String description){
        this.id = id;
        this.name = name;
        this.description = description;
    }

    public static  String findAll(){
        //Using ebean and MySql, fech the product table
        //and return all products
    }
}

Pour permettre l'utilisation de MySQL, j'ai déjà édité l'application /conf/.conf comme suit:

db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost/play_db?characterEncoding=UTF-8"
db.default.user=user 
db.default.password=pass
ebean.default="models.*"

J'ai une base de données play_db avec une table affichée comme suit:

entrez la description de l'image ici

Mon problème est de savoir comment récupérez tous les produits dans le modèle de produit en utilisant ebean et MySQL. Quelqu'un peut-il me diriger vers un simple tutoriel crud qui utilise play java en combinaison avec ebean et MySQL? Merci

Quelqu'un?

NOTE Au fait, j'utilise Play v. 2. 3. 5 pour Java

Author: biesior, 2014-10-12

1 answers

Hourra!!!

Liste des actions

public static Result list(){
    List<Product> products = Product.findAll();
    return ok(play.libs.Json.toJson(products));
}

Méthode FindAll dans le Modèle de Produit

public static  List<Product> findAll(){
    return  Product.find.orderBy("id").findList();  
}

Enfin, je dois activer l'évolution dans /conf/application.conf en décommentant la ligne suivante

# evolutionplugin=disabled

Ajouter @Entity juste avant de public class de Produits s'étend du Modèle{

Code final:

package models;

import java.util.List;

import javax.persistence.Entity;

import play.db.*;
import play.db.ebean.Model;

import play.api.db.DB;

import com.avaje.ebean.Ebean;
import com.avaje.ebean.Query;


@Entity

public class Product extends Model{

    public int id;
    public String name;
    public String description;

    public static Model.Finder<String, Product> find = new Model.Finder<String, Product>(String.class, Product.class);

    public Product(){

    }

    public Product(int id, String name, String description){
        this.id = id;
        this.name = name;
        this.description = description;
    }

    public static  List<Product> findAll(){
        return  Product.find.orderBy("id").findList();
    }
}

J'espère que cela aidera tous ceux qui sont également nouveaux à jouer à Java

 8
Author: lomse, 2017-01-05 13:31:53