Spring Boot te permite conectarte a una base de datos de forma simple y con mínimas configuraciones.
Veamos en este post como conectarse a una base de datos.
Como conectar Spring Boot con una base de datos
Puedes crear una conexión a una base de datos en Spring Boot con pocos pasos.
- Define la base de datos que quieres utilizar.
- Incluye las dependencias.
- Define los parámetros de conexión en el archivo de propiedades.
Define la base de datos
En este ejemplo, nosotros usaremos MySql, pero la configuración aplica a cualquier base de datos. La única diferencia es la dependencia necesaria para conectar tu base de datos con tu servicio.
Dependencias para crear la conexión con la base de datos en Spring Boot
Para crear una DB conexión, tu necesitas las siguientes dependencias.
Para MySql necesitas:
'mysql:mysql-connector-java:8.0.28'
Para PostgreSQL:
'org.postgresql:postgresql'
Para Oracle:
'com.oracle.database.jdbc:ojdbc8'
Para MSSQL:
'com.microsoft.sqlserver:mssql-jdbc'
Los parámetros de conexión en el archivo de propiedades
En estas propiedades, nosotros primero debemos establecer el path de conexión con la DB. Luego indicamos el user y el password. Con esta minima configuración y la dependencia, ya es suficiente para Spring entender como conectarse.
La configuración minima para conectar a la base queda así:
Para MySql:
spring.datasource.url=jdbc:mysql://localhost:3306/your_database
spring.datasource.username=your_user
spring.datasource.password=your_password
Para PostgreSQL:
spring.datasource.url=jdbc:postgresql://localhost:5432/your_database
spring.datasource.username=your_user
spring.datasource.password=your_password
Para Oracle:
spring.datasource.url=jdbc:oracle://localhost:1521/your_database
spring.datasource.username=your_user
spring.datasource.password=your_password
Para MSSQL:
spring.datasource.url=jdbc:sqlserver://localhost:1433/your_database
spring.datasource.username=your_user
spring.datasource.password=your_password
*Observa que el puerto y la url podrían cambiar dependiendo de la instalación de cada base de datos.
Spring puede crear las tablas por tí
Si quieres delegar la creación de las tablas a Spring, puedes hacerlo agregando esta propiedad.
spring.jpa.hibernate.ddl-auto=create
Este property le dice a Spring si debe crear las tablas desde las entidades que hemos creado.
Este articulo explica más acerca de esta propiedad.
- none: no se realizará ninguna acción.
- drop: se crearán las tablas a partir de las entidades y al final se borrarán.
- create: se borrarán las tablas y al final se crearán
- update: realiza una actualización del esquema a partir de las entidades.
- validate: sólo realiza una validación entre las entidades y el esquema de la base de datos.
Veamos un poco más sobre esta propiedad “spring.jpa.hibernate.ddl-auto”
Si definimos la propiedad como “create” Spring destruirá todas las tablas y luego las creará todas nuevamente.
Para entender más acerca de las entidades, revisa este otro post
Por ejemplo para esta entidad. Spring hará lo siguiente:
Observa en la consola de Spring lo que sucede con esta configuración “create”.
Para ver las sentencias SQL en la consola, necesitas esta configuración
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
Conclusión
En este post, hemos aprendido como configurar una conexión a una base de datos y como delegar la creación de la base de datos/tablas a Spring.