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
Resumen
¿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 customer
como 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 item
yID 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=true
para MySQL.spring.datasource.username
ypassword
: 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!