Conexión de Proyecto Java a Base de Datos MySQL en IntelliJ IDEA
Clase 3 de 25 • Curso de Java Spring Data JPA: Bases de Datos
Contenido del curso
Primeros pasos
Spring Data Repositories
- 7

Uso de Spring Data Repositories para Gestión de Datos
08:39 min - 8

Guardar y Actualizar Registros con Spring Data Repositories
08:34 min - 9

Eliminar elementos con Spring Data JPA: método deleteById
05:36 min - 10

Gestión de Relaciones en JPA: Lazy vs Eager Fetching
15:09 min - 11

Query Methods en Spring para Consultas Personalizadas
08:28 min - 12

Filtrado de Pizzas por Ingredientes usando Query Methods
07:27 min - 13

Consultas Avanzadas con Query Methods en Java Spring
11:25 min - 14

Uso de Query Methods para Filtrar y Ordenar Datos en Spring
09:30 min - 15

Paginación y Ordenación con Spring Data Repositories
07:39 min - 16

Ordenamiento Dinámico con Paging and Sorting Repository
07:58 min
Personalización de queries
- 17

Consultas de Base de Datos con JPQL en Spring Boot
08:01 min - 18

Consultas SQL nativas y ordenación con Hibernate en Spring Data
08:26 min - 19

Uso de Proyecciones en Queries Personalizados con Java y SQL
13:47 min - 20

Actualización de Precios de Pizza con Spring Data JPA
11:50 min - 21

Propiedades ACID y Spring Data: Uso de @Transactional
10:07 min
Características avanzadas
Próximos pasos
¿Cuál es el modelo de entidad-relación de la pizzería?
Nuestro modelo de entidad-relación para la base de datos del proyecto de pizzería está compuesto por cuatro tablas fundamentales: pizza, pizza_order, order_item y customer. Aquí desglosamos brevemente cada una de estas tablas y sus funciones:
-
Tabla
pizza:- ID de pizza: Identificador único de cada pizza.
- Nombre y descripción: Información detallada de la pizza.
- Precio: Tipo decimal 5,2 (cinco dígitos en total, dos después del punto).
- Atributos booleanos: Identificación de si la pizza es vegetariana, vegana o está disponible mediante el uso de columnas
tinyint.
-
Tabla
pizza_order:- ID de orden: Identificador único de cada orden.
- Relación con
customer: UsandoID customercomo clave foránea. - Fecha de la orden: Registro temporal de la creación de la orden.
- Valor total: Suma del costo de todas las pizzas en la orden.
- Método de entrega: Almacena en un carácter si la orden es para llevar, recoger o para comer en el lugar.
- Notas adicionales: Registro para observaciones específicas del cliente sobre la orden.
-
Tabla
customer:- ID de cliente: Identificación única de cada cliente.
- Datos del cliente: Incluye nombre, dirección, email y número de teléfono.
-
Tabla
order_item:- Relación uno a uno con
pizza: Cada ítem de la orden tiene un enlace a una pizza específica. - Relación uno a muchos con
pizza_order: Una orden puede tener múltiples ítems. - Claves primarias: Compuestas por
ID itemyID order. - Cantidad y precio: Manejo de cantidades y ajustes de precios según la cantidad de pizzas pedidas.
- Relación uno a uno con
¿Cómo conectar el proyecto a la base de datos?
Para conectar nuestro proyecto a una base de datos MySQL desde IntelliJ IDEA, debemos editar el archivo application.properties dentro del directorio resources. Aquí se deben poner cuatro instrucciones esenciales para establecer la conexión:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/fixeria?createDatabaseIfNotExist=true
spring.datasource.username=root
spring.datasource.password=admin
¿Qué parámetros son esenciales en application.properties?
spring.datasource.driver-class-name: Especifica el tipo de base de datos.spring.datasource.url: Dirección y nombre de la base de datos junto con la instruccióncreateDatabaseIfNotExist=truepara MySQL.spring.datasource.usernameypassword: Credenciales de acceso a la base de datos.
Configuración avanzada: ¿Cómo utilizar Hikari CP y Spring JPA?
¿Para qué sirve Hikari CP?
Hikari CP es un gestor automático de conexiones a base de datos, optimizando la cantidad de conexiones según la concurrencia de usuarios en la aplicación. Ofrece un mejor rendimiento y es fundamental para la eficiencia y escalabilidad del sistema.
¿Cómo configurar Spring JPA?
Para gestionar dinámicamente el esquema de base de datos, podemos añadir y configurar Spring JPA:
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto:update: Se adapta al esquema al sincronizar cambios sin perder datos.
spring.jpa.show-sql: Permite visualizar en la consola las acciones SQL realizadas por nuestra aplicación.
Estas configuraciones permiten que la estructura de las bases de datos se actualice automáticamente a partir de las entidades definidas en nuestro proyecto. Además, habilitar show-sql nos ayuda a verificar y analizar cómo nuestras acciones afectan a la base de datos en tiempo real.
¿Cómo adaptar la nueva interfaz de IntelliJ IDEA?
Finalmente, para aprovechar las actualizaciones de IntelliJ IDEA en su interfaz, podemos activar la "New UI" en Appearance & Behavior. Esto nos permitirá familiarizarnos con una interfaz más moderna y eficiente. Simplemente habilita la interfaz, aplica los cambios y reinicia IntelliJ IDEA.
Utilizar estas opciones no solo mejora la experiencia de desarrollo, sino que también optimiza la gestión del proyecto en entorno de bases de datos. Al seguir aprendiendo y explorando nuevas herramientas y configuraciones, potencias tu capacidad para crear aplicaciones robustas y eficientes. ¡Sigue adelante y explora más en este emocionante viaje de aprendizaje!