Trabalho com bancos de dados em Java: PostgreSQL e MongoDB para iniciantes

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Trabalho com bancos de dados em Java: PostgreSQL e MongoDB para iniciantes

\n\n

No desenvolvimento moderno em Java, a habilidade de trabalhar com bancos de dados (BD) é uma das competências essenciais. Independentemente de você estar criando uma aplicação web, um serviço móvel ou um sistema corporativo, precisará armazenar, recuperar e processar dados. Neste artigo, abordaremos dois sistemas populares de gerenciamento de bancos de dados (SGBD): o relacional PostgreSQL e o orientado a documentos MongoDB. Você aprenderá como se conectar a eles a partir de uma aplicação Java, realizar operações básicas e entenderá em quais casos escolher uma ou outra tecnologia. O material é voltado para desenvolvedores iniciantes, portanto, todos os exemplos de código são extremamente simples e acompanhados de comentários.

\n\n

1. Fundamentos do trabalho com PostgreSQL em Java

\n\n

PostgreSQL é um poderoso SGBD objeto-relacional de código aberto. Para interagir com ele a partir do Java, utiliza-se o driver JDBC (Java Database Connectivity). Vamos analisar o processo passo a passo de conexão e execução de consultas.

\n\n

1.1. Conexão do driver e configuração

\n\n

Primeiramente, é necessário adicionar a dependência ao seu projeto. Se você usa Maven, adicione o seguinte bloco ao pom.xml:

\n\n
<dependency>\n    <groupId>org.postgresql</groupId>\n    <artifactId>postgresql</artifactId>\n    <version>42.7.1</version>\n</dependency>
\n\n

Para Gradle, adicione a linha ao build.gradle:

\n\n
implementation 'org.postgresql:postgresql:42.7.1'
\n\n

1.2. Criação de tabela e inserção de dados

\n\n

Suponha que temos um banco de dados testdb com o usuário user e a senha pass. Vamos criar uma tabela simples users e adicionar alguns registros.

\n\n
import java.sql.*;\n\npublic class PostgresExample {\n    public static void main(String[] args) {\n        String url = "jdbc:postgresql://localhost:5432/testdb";\n        String user = "user";\n        String password = "pass";\n\n        try (Connection conn = DriverManager.getConnection(url, user, password);\n             Statement stmt = conn.createStatement()) {\n\n            // Criação da tabela\n            String createTableSQL = "CREATE TABLE IF NOT EXISTS users (" +\n                                    "id SERIAL PRIMARY KEY, " +\n                                    "name VARCHAR(100) NOT NULL, " +\n                                    "email VARCHAR(100) UNIQUE)";\n            stmt.executeUpdate(createTableSQL);\n            System.out.println("Tabela criada ou já existe.");\n\n            // Inserção de dados\n            String insertSQL = "INSERT INTO users (name, email) VALUES " +\n                               "('Ivan Petrov', 'ivan@example.com'), " +\n                               "('Maria Smirnova', 'maria@example.com')";\n            int rowsInserted = stmt.executeUpdate(insertSQL);\n            System.out.println("Linhas inseridas: " + rowsInserted);\n\n        } catch (SQLException e) {\n            e.printStackTrace();\n        }\n    }\n}
\n\n

1.3. Leitura de dados com PreparedStatement

\n\n

Para trabalhar de forma segura com entrada do usuário, utilize PreparedStatement. Isso previne injeções SQL.

\n\n
String selectSQL = "SELECT * FROM users WHERE name LIKE ?";\ntry (PreparedStatement pstmt = conn.prepareStatement(selectSQL)) {\n    pstmt.setString(1, "%Ivan%");\n    ResultSet rs = pstmt.executeQuery();\n\n    while (rs.next()) {\n        int id = rs.getInt("id");\n        String name = rs.getString("name");\n        String email = rs.getString("email");\n        System.out.println("ID: " + id + ", Nome: " + name + ", Email: " + email);\n    }\n} catch (SQLException e) {\n    e.printStackTrace();\n}
\n\n

Como você pode ver, o trabalho com PostgreSQL em Java é padrão e bem documentado

Blogs

Book Recommendations