- Usar la consola integrada con la base de datos embebida H2 para conectarnos a la instancia de MySQL.
- Proporcionar un mecanismo sencillo para poder adminsitrar la información de la base de datos sin herramientas externas.
- Tener instalado el IDE IntelliJ Idea Community Edition con el plugin de Lombok activado.
- Tener instalada la última versión del JDK 11 o 17.
- Tener instalada la base de datos MySQL y los datos del usuario para conectarse
-
Entra al sitio de Spring Initializr. Ahí verás una sola página dividida en dos secciones. Comienza llenando la información de la sección del lado izquierdo. Selecciona:
-
En la ventana que se abre selecciona las siguientes opciones:
- Grupo, artefacto y nombre del proyecto.
- Tipo de proyecto: Maven Project.
- Lenguaje: Java.
- Forma de empaquetar la aplicación: jar.
- Versión de Java: 11 o 17.
-
En la sección de la derecha (las dependencias) presiona el botón
Add dependencies
y en la ventana que se abre busca las dependenciasSpring Web
,Lombok
,Spring Data JPA
yMySQL Driver
. -
Dale un nombre y una ubicación al proyecto y presiona el botón Generate.
-
En el proyecto que se acaba de crear debes tener el siguiente paquete
org.bedu.java.backend.sesion6.ejemplo3
. Dentro crea los subpaquetes:model
ypersistence
. -
Dentro del paquete
model
crea una clase llamadaEtapa
con los siguientes atributos:private Long etapaId; private String nombre; private Integer orden;
-
Decora la clase con la anotación
@Data
de Lombok:@Data public class Etapa { }
-
Decora también la clase con las siguientes anotaciones de JPA:
@Entity @Table(name = "ETAPAS") public class Etapa { }
-
Decora los atributos con las siguientes de JPA:
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long etapaId; @Column(nullable = false, length = 100) private String nombre; @Column(nullable = false, unique = true) private Integer orden;
-
En el paquete
persistence
crea una interface llamadaEtapaRepository
que extienda deJpaRepository
. Esta interface permanecerá sin métodos:public interface EtapaRepository extends JpaRepository<Etapa, Long> { }
-
Coloca el siguiente contenido en el archivo
application.properties
(los valores entre los signos<
y>
reemplazalos con tus propios valores):spring.jpa.hibernate.ddl-auto=update spring.jpa.hibernate.generate_statistics=true spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/bedu?serverTimezone=UTC spring.datasource.username=<usuario> spring.datasource.password=<password>
-
Agrega la dependencia de H2 en el archivo
pom.xml
:<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency>
-
Ejecuta la aplicación e ingresa a la siguiente dirección en tu navegador:
http://localhost:8080/h2-console/
debes ver una venta como la siguiente:
-
Cambia la información del Driver Class, JDBC URL, User Name y Password a los valores correspondientes a MySQL (los que tienes en el archivo
application.properties
.- Driver Class: org.hibernate.dialect.MySQL5Dialect
- JDBC URL: jdbc:mysql://localhost:3306/bedu?serverTimezone=UTC
-
Presiona el botón Test Connection, debe aparecer un mensaje indicando que la prueba es exitosa (y el password debe haber desaparecido).
-
Vuelve a colocar el password y presiona el botón Connect debes entrar a la consola de H2. Esta consla muestra muchas tablas. Las de tu aplicación serán las últimas:
-
Escribe una consulta en la consola; la información aparcera en el panel de respuestas.