Seleccionar página

Cómo conectar Spring Boot con PostgreSQL paso a paso

 

Cómo conectar Spring Boot con PostgreSQL paso a paso

Introducción: Conectar Spring Boot con PostgreSQL es una habilidad esencial para cualquier desarrollador backend. En este artículo encontrarás una guía práctica y directa para configurar tu proyecto, crear una entidad, exponer un endpoint de prueba y seguir buenas prácticas de seguridad. En Pulsosoft te mostramos cómo hacerlo sin complicaciones.

1. Pre-requisitos y dependencias

Antes de comenzar asegúrate de tener instalado Java 17+, Maven o Gradle, y PostgreSQL en tu máquina (o una instancia remota). En el proyecto de Spring Boot, agrega la dependencia del driver de PostgreSQL y Spring Data JPA.

<dependency>
  <groupId>org.postgresql</groupId>
  <artifactId>postgresql</artifactId>
  <scope>runtime</scope>
</dependency>
  

2. Configuración en application.properties

Evita dejar credenciales en el repositorio: usa variables de entorno en producción. Para desarrollo local, prueba con estas propiedades (ajusta usuario y contraseña):

spring.datasource.url=jdbc:postgresql://localhost:5432/mi_base
spring.datasource.username=postgres
spring.datasource.password=admin123
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
  

3. Crea la entidad Usuario

Dentro del paquete model crea una entidad simple para probar la conexión:

package com.pulsosoft.demo.model;

import jakarta.persistence.*;

@Entity
@Table(name = "usuarios")
public class Usuario {
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;

  private String nombre;
  private String correo;

  // Constructores, getters y setters
}
  

4. Repositorio y servicio básico

Crea el repositorio usando Spring Data JPA y un servicio simple para encapsular la lógica de acceso a datos.

@Repository
public interface UsuarioRepository extends JpaRepository<Usuario, Long> { }

@Service
public class UsuarioService {
  private final UsuarioRepository repo;
  public UsuarioService(UsuarioRepository repo) { this.repo = repo; }
  public List<Usuario> findAll() { return repo.findAll(); }
}
  

5. Controlador para probar la conexión

Agrega un endpoint REST sencillo para verificar que todo está funcionando:

@RestController
@RequestMapping("/api/usuarios")
public class UsuarioController {
  private final UsuarioService service;
  public UsuarioController(UsuarioService service) { this.service = service; }

  @GetMapping
  public List<Usuario> list() { return service.findAll(); }
}
  

6. Cómo probarlo

Ejecuta la aplicación y prueba el endpoint con el navegador o con curl:

curl http://localhost:8080/api/usuarios
  
Si recibes una lista (vacía o con datos), la conexión y mapeo están correctos.

7. Buenas prácticas y errores comunes

  • No subas contraseñas al repositorio; usa variables de entorno o Vault.
  • Usa spring.jpa.hibernate.ddl-auto=update solo en desarrollo; en producción migra con Flyway o Liquibase.
  • Controla la cantidad de conexiones con un pool (por ejemplo HikariCP) y configura timeouts.
  • Valida entidades (Bean Validation) para evitar datos corruptos.

Conclusión

Conectar Spring Boot con PostgreSQL es directo si sigues los pasos: agregar dependencia, configurar datasource, crear entidad/repo y probar con un endpoint. Aplica las buenas prácticas mencionadas para no tener sorpresas al pasar a producción. En Pulsosoft te acompañamos a construir proyectos backend sólidos y profesionales.
🚀 ¿Querés profundizar en Spring Boot y bases de datos? Visita Pulsosoft y encontrá cursos y asesorías para llevar tus proyectos al siguiente nivel.

Escrito por Giovanny Benitez

Más de esta categoría

Condicionales en Java: cómo tu programa toma decisiones

Condicionales en Java: cómo tu programa toma decisiones

Condicionales en Java: cómo tu programa toma decisiones Todo programa útil toma decisiones. ¿El usuario es mayor de edad? ¿El saldo es suficiente? ¿El campo está vacío? Para responder esas preguntas, Java usa condicionales. ¿Qué es un condicional? Un condicional...

leer más
Condicionales en Java: cómo tu programa toma decisiones

Condicionales en Java: cómo tu programa toma decisiones

Condicionales en Java: cómo tu programa toma decisiones Todo programa útil toma decisiones. ¿El usuario es mayor de edad? ¿El saldo es suficiente? ¿El campo está vacío? Para responder esas preguntas, Java usa condicionales. ¿Qué es un condicional? Un condicional...

leer más
Condicionales en Java: cómo tu programa toma decisiones

Condicionales en Java: cómo tu programa toma decisiones

Condicionales en Java: cómo tu programa toma decisiones Todo programa útil toma decisiones. ¿El usuario es mayor de edad? ¿El saldo es suficiente? ¿El campo está vacío? Para responder esas preguntas, Java usa condicionales. ¿Qué es un condicional? Un condicional...

leer más

0 Comentarios

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *