Skip to main content

Probando Jmoordb-core con Quarkus 3.0 Alpha Jakarta EE 10

 En el siguiente video se muestra como implementar un proyecto con Quarkus 3.0 Alpha 1 con Jmoordb-core , usando Jakarta EE 10, con una base de datos MongoDB.

https://code.quarkus.io/?S=io.quarkus.platform%3A3.0

Luego lo descargamos y agregamos el repositorio

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>


Y aƱadimos las  dependencias

	<dependency>
            <groupId>com.github.avbravo</groupId>
            <artifactId>jmoordb-core</artifactId>
            <version>0.2</version>
        </dependency>
         <dependency>
                <groupId>io.quarkus</groupId>
                <artifactId>quarkus-smallrye-openapi</artifactId>
                 <version>2.12.3.Final</version>
            </dependency>
        <dependency>
            <groupId>org.eclipse.microprofile.metrics</groupId>
            <artifactId>microprofile-metrics-api</artifactId>
            <version>5.0.0-RC4</version>
            <type>jar</type>
        </dependency>

Creamos el archivo microprofile-config.properties dentro de META-INF.

#-- Jmoordb-core
mongodb.uri=mongodb://localhost:27017
#-- Database de configuración
mongodb.jmoordb= configurationjmoordbdb
#-- Database
mongodb.database=ejemplodb
mongodb.database1=test
mongodb.database2=prueba

Crear la clase MongoDBProducer, observe que se utiliza jakarta en lugar de javax en varios paquetes,

import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import java.io.Serializable;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Disposes;
import jakarta.enterprise.inject.Produces;
import jakarta.inject.Inject;
import org.eclipse.microprofile.config.Config;
import org.eclipse.microprofile.config.inject.ConfigProperty;

@ApplicationScoped
@DateSupport()
public class MongoDBProducer implements Serializable {

    @Inject
    private Config config;
    @Inject
    @ConfigProperty(name = "mongodb.uri")
    private String mongodburi;
    
    @Produces
    @ApplicationScoped
    public MongoClient mongoClient() {
        MongoClient mongoClient = MongoClients.create(mongodburi);
       return mongoClient;

    }

    public void close(@Disposes final MongoClient mongoClient) {
        mongoClient.close();
    }

}


Defina la entodad

	@Entity()
public class Pais {
    @Id(autogeneratedActive = AutogeneratedActive.ON)
    private Long idpais;
  
    @Column
    private String pais;
    
    @Column
    private Date fecha;
}

Utilizamos un repositorio

@Repository(entity = Pais.class)
public interface PaisRepository extends CrudRepository<Pais, Long> {    
      
}

Creamos un Controller

@Path("pais")
public class PaisController {   
    @Inject
    PaisRepository paisRepository;      

    @GET
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public List<Pais> findAll() {

        return paisRepository.findAll();
    }
    
}


Ejecutamos la aplicación 

quarkus dev

Podemos consultar el resultado mediante Postman

http://localhost:8080/pais



Video explicativo






Comments

Popular posts from this blog

JUnit con DataClassG

JUnit con DataClassG 0. ESQUEMA Services: Por cada beans crearemos una clase Services que se encargarĆ” de interactuar con el controller para realizar las operaciones de la base de datos. Se crearan los mĆ©todos insert, update,delete y los demas metodos para realizar las diversas operaciones. Test: Se crearĆ”n las clases para test de las clases Services. Form: Los formularios para la interactuar con el usuario. ProvinciasServices.java colocamos los mĆ©todos, insert, update,delete public class ProvinciasServices {    ProvinciasController provinciasController = new ProvinciasController();    public ProvinciasServices() {    }    public Boolean insert (Provincias provincias){        try{            if(provinciasController.insert(provincias)){              return tru...

Primefaces v13

 La versión nueva de primefaces v13.0 elimina el componente <p:repeat>  Consulte los cambios en  https://github.com/primefaces/primefaces/releases/tag/13.0.0 por lo tanto si necesita una solución similar considere utilizar  <p:carousel>  o  <ui:repeat> En la versión 13 genera una excepción