Como configurar uma conexão com banco de dados no Spring Boot?

No Spring Boot, configurar uma conexão com banco de dados é simples com Spring Data JPA e suporte para bancos como MySQL e PostgreSQL.

Como configurar uma conexão com banco de dados no Spring Boot?

O Spring Boot facilita a configuração de conexões com bancos de dados relacionais como MySQL, PostgreSQL e H2. O framework usa o Spring Data JPA, que simplifica o acesso a dados e reduz a necessidade de escrever SQL manualmente.

1. Adicionando Dependências

No pom.xml, adicione as dependências necessárias:

Para MySQL:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

Para PostgreSQL:

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

Para H2 (banco de dados em memória para testes):

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

2. Configurando o application.properties

Para MySQL, configure as credenciais no application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/meubanco
spring.datasource.username=root
spring.datasource.password=senha
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
spring.jpa.hibernate.ddl-auto=update

Para PostgreSQL:

spring.datasource.url=jdbc:postgresql://localhost:5432/meubanco
spring.datasource.username=postgres
spring.datasource.password=senha
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=update

Para H2, que roda em memória (usado para testes):

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true

3. Criando uma Entidade e Repositório

Agora, crie uma entidade JPA para representar uma tabela no banco de dados:

import jakarta.persistence.*;

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

    // Getters e Setters
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public String getNome() { return nome; }
    public void setNome(String nome) { this.nome = nome; }
    public String getEmail() { return email; }
    public void setEmail(String email) { this.email = email; }
}

Crie um repositório para manipular os dados no banco:

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

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

4. Criando um Controller para Testar a Conexão

Crie um Controller que permite salvar e buscar usuários:

import org.springframework.web.bind.annotation.*;
import java.util.List;

@RestController
@RequestMapping("/usuarios")
public class UsuarioController {
    private final UsuarioRepository usuarioRepository;

    public UsuarioController(UsuarioRepository usuarioRepository) {
        this.usuarioRepository = usuarioRepository;
    }

    @PostMapping
    public Usuario criarUsuario(@RequestBody Usuario usuario) {
        return usuarioRepository.save(usuario);
    }

    @GetMapping
    public List<Usuario> listarUsuarios() {
        return usuarioRepository.findAll();
    }
}

5. Testando a Conexão

  • Para inserir um usuário, envie uma requisição POST para http://localhost:8080/usuarios com o seguinte JSON:
{
    "nome": "João Silva",
    "email": "joao@email.com"
}
  • Para listar os usuários cadastrados, faça uma requisição GET para http://localhost:8080/usuarios.

Conclusão

Configurar uma conexão com banco de dados no Spring Boot é simples e pode ser feita para MySQL, PostgreSQL ou H2 com poucos ajustes no application.properties. Usando o Spring Data JPA, você consegue manipular registros sem escrever SQL manualmente.

O Spring Boot revolucionou a forma como aplicações Java se conectam a bancos de dados. Antes, era necessário configurar arquivos XML e escrever código repetitivo para gerenciar conexões. Com o Spring Data JPA, basta definir algumas configurações no application.properties e a comunicação com o banco acontece automaticamente, facilitando o desenvolvimento e a escalabilidade das aplicações.

Algumas aplicações:

  • Criação de aplicações empresariais com banco de dados
  • Manipulação de registros com JPA e Hibernate
  • Integração com bancos relacionais como MySQL e PostgreSQL
  • Desenvolvimento de APIs REST conectadas a bases de dados

Dicas para quem está começando

  • Para testar rapidamente, use o banco de dados H2
  • Evite armazenar credenciais sensíveis no application.properties em produção
  • Use spring.jpa.hibernate.ddl-auto=update apenas em desenvolvimento
  • Para consultas personalizadas, use a anotação @Query no repositório

Contribuições de Rodrigo Farias

Compartilhe este tutorial: Como configurar uma conexão com banco de dados no Spring Boot

Compartilhe este tutorial

Continue aprendendo:

Como criar login com JWT em Java

O JWT (JSON Web Token) é usado para autenticação sem estado em aplicações Java, permitindo login seguro e proteção de APIs.

Tutorial anterior

Como realizar upload de arquivos em uma aplicação Java web

O upload de arquivos em aplicações Java web pode ser feito com Spring Boot e a interface MultipartFile, permitindo armazenar imagens e documentos.

Próximo tutorial