Persistência é a capacidade de um sistema de armazenar dados de forma duradoura, mesmo após o encerramento do programa. A forma mais comum de conseguir isso em aplicações Java é usando um Banco de Dados Relacional (SGBDR). Neste capítulo, vamos explorar como conectar e interagir com bancos de dados, focando em dois dos SGBDRs mais populares: PostgreSQL e MySQL.
Pense em um aplicativo de lista de tarefas. Se você adiciona uma tarefa e, ao fechar o aplicativo, ela desaparece, ele não é muito útil, certo? A persistência garante que seus dados (como as tarefas da sua lista) sejam salvos em algum lugar (um arquivo, um banco de dados) e possam ser recuperados quando o aplicativo for iniciado novamente.
Um Sistema Gerenciador de Banco de Dados Relacional (SGBDR) é um software que permite criar, acessar e gerenciar bancos de dados. Ele armazena dados em tabelas, que são organizadas em linhas e colunas, e essas tabelas podem ser relacionadas entre si.
Motivos:
Para que uma aplicação Java possa "conversar" com um banco de dados, ela precisa de uma interface padrão. Essa interface é o JDBC (Java Database Connectivity).
O JDBC é uma API (Application Programming Interface) que fornece um conjunto de classes e interfaces para conectar-se a diferentes SGBDRs (como MySQL, PostgreSQL, Oracle, SQL Server, etc.) de forma unificada. Ele atua como um "tradutor" entre o seu código Java e o banco de dados.
Componentes Chave do JDBC:
.jar).Connection: Representa uma sessão de comunicação com o banco de dados.Statement / PreparedStatement: Usados para enviar comandos SQL (linguagem de consulta estruturada) ao banco de dados. PreparedStatement é preferível para segurança (evita SQL Injection) e performance.ResultSet: Usado para armazenar os resultados de uma consulta SELECT do banco de dados.PostgreSQL:
MySQL:
Ambos são excelentes escolhas, e a lógica de conexão JDBC será muito similar para ambos, mudando principalmente a URL de conexão e o driver JDBC.