Como conectar Java a um banco de dados MySQL/PostgreSQL?

A conexão entre Java e bancos de dados MySQL/PostgreSQL é feita através do JDBC, utilizando drivers específicos para cada banco.

Como conectar Java a um banco de dados MySQL/PostgreSQL?

Conectar Java a um banco de dados relacional como MySQL ou PostgreSQL é essencial para armazenar e recuperar informações de forma eficiente. A API JDBC (Java Database Connectivity) permite a comunicação entre Java e diferentes bancos de dados.

1. Adicionando o Driver JDBC

Antes de conectar ao banco, precisamos adicionar o driver correspondente.

Para MySQL:

Adicione a seguinte dependência no Maven:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>

Para PostgreSQL:

Adicione a seguinte dependência:

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.5.1</version>
</dependency>

2. Criando a Conexão JDBC

Agora podemos estabelecer a conexão com o banco de dados.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConexaoBanco {
    private static final String URL_MYSQL = "jdbc:mysql://localhost:3306/meubanco";
    private static final String URL_POSTGRES = "jdbc:postgresql://localhost:5432/meubanco";
    private static final String USUARIO = "root";
    private static final String SENHA = "1234";

    public static Connection conectar(boolean usarMySQL) {
        try {
            String url = usarMySQL ? URL_MYSQL : URL_POSTGRES;
            return DriverManager.getConnection(url, USUARIO, SENHA);
        } catch (SQLException e) {
            throw new RuntimeException("Erro ao conectar ao banco de dados", e);
        }
    }
}

Explicação: O código usa DriverManager.getConnection() para conectar ao banco de dados especificado, passando a URL, usuário e senha.

3. Testando a Conexão

public class TesteConexao {
    public static void main(String[] args) {
        Connection conexao = ConexaoBanco.conectar(true);
        if (conexao != null) {
            System.out.println("Conexão bem-sucedida!");
        }
    }
}

Explicação: Se a conexão for bem-sucedida, o programa imprimirá Conexão bem-sucedida! no console.

4. Boas Práticas ao Conectar-se a um Banco

  • Sempre feche a conexão após o uso para evitar vazamento de recursos.
  • Utilize DataSource em vez de DriverManager para melhor gerenciamento.
  • Prefira PreparedStatement para evitar SQL Injection.

Conclusão

A conexão de Java com MySQL/PostgreSQL via JDBC é fundamental para aplicações que necessitam de persistência de dados. Seguir boas práticas ajuda a manter o sistema seguro e eficiente.

A conexão entre Java e bancos de dados é um dos fundamentos mais importantes para desenvolvimento de aplicações robustas. Frameworks como Hibernate e Spring Data ajudam a gerenciar essa conexão de maneira mais eficiente, reduzindo o código necessário e oferecendo recursos avançados para manipulação de dados.

Algumas aplicações:

  • Criação de sistemas gerenciadores de dados
  • Armazenamento e recuperação de informações em aplicações web
  • Integração com APIs para persistência de dados
  • Desenvolvimento de aplicações empresariais baseadas em banco de dados

Dicas para quem está começando

  • Sempre feche a conexão após o uso
  • Use PreparedStatement para evitar SQL Injection
  • Configure um pool de conexões para melhor desempenho
  • Verifique os logs do banco de dados para depuração
  • Experimente frameworks como Hibernate para facilitar a manipulação de dados

Contribuições de Rodrigo Farias

Compartilhe este tutorial: Como conectar Java a um banco de dados MySQL/PostgreSQL

Compartilhe este tutorial

Continue aprendendo:

Como tratar exceções dentro de expressões lambda

O tratamento de exceções dentro de expressões lambda em Java pode ser feito com try-catch, wrappers e métodos auxiliares para evitar código verboso.

Tutorial anterior

Como executar consultas SQL em Java

Executar consultas SQL em Java com JDBC permite manipular dados de um banco de dados de forma segura e estruturada.

Próximo tutorial