Como conectar SpringBoot a una Base de Datos

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.

Spring Database Create

Para entender más acerca de las entidades, revisa este otro post

Por ejemplo para esta entidad. Spring hará lo siguiente:

Spring Database Entity

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

Spring Database Console

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.

If you wish to send me any corrections or suggestions, please contact me.
Thanks for your feedback :)

Ver también