Clase Repository

Los Repository representan el mecanismo de comunicación de la aplicación con la base de datos NoSQL.

Proporcionan los métodos para interactuar los entitys y documentos.

En el constructor indicamos en el método super(Entity.class, "basedatos","coleccion")

public PlanetasRepository() {
        super(Planetas.class, "myappdb", "planetas");
    }

Facade: PlanetasRepository.java

import com.avbravo.jmoordb.facade.AbstractRepository;
import com.avbravo.myapp.entity.Planetas;
import com.avbravo.myapp.provider.MongoClientProvider;
import com.mongodb.MongoClient;

/**
 *
 * @author avbravo
 */
public class PlanetasFacade extends AbstractFacade<Planetas> {

    MongoClientProvider mongoclientProvider;

    public PlanetasFacade() {
        super(Planetas.class, "myappdb", "planetas");
    }

    @Override
    protected MongoClient getMongoClient() {
       if(mongoclientProvider == null){
         mongoclientProvider = new MongoClientProvider();
        }     
        return mongoclientProvider.getMongoClient();
    }

    @Override
    public Object findById(String key, String value) {
        return search(key, value);
    }

    @Override
    public Object findById(String key, Integer value) {
        return search(key, value);
    }

}

Facade: ContinentesFacade.java

public class ContinentesFacade extends AbstractFacade<Continentes> {

    MongoClientProvider mongoclientProvider = new MongoClientProvider();

    public ContinentesFacade() {
        super(Continentes.class, "myappdb", "continentes");
    }

    @Override
    protected MongoClient getMongoClient() {
        return mongoclientProvider.getMongoClient();
    }

    @Override
    public Object findById(String key, String value) {
        return search(key, value);
    }

    @Override
    public Object findById(String key, Integer value) {
        return search(key, value);
    }

}

Last updated