Jdbc

Introdução

Você parou para refletir onde e como são armazenados os terabytes de dados que são trafegados pelas aplicações disponíveis nas plataformas desktop, web e atualmente mobile?

Você parou para refletir onde e como são armazenados os terabytes de dados que são trafegados pelas aplicações disponíveis nas plataformas desktop, web e atualmente mobile?

Bem todo este gigantesco volume de dados é armazenado no que conhecemos um provedor de banco de dados. Mas como um software desenvolvido na linguagem Java consegue interagir com este serviço de gerenciamento dos dados de um sistema? Antes precisamos listar algumas alternativas disponíveis atualmente para esta única proposta.

  • JDBC
  • ORM
  • NoSQL
ℹ️ Informação
Para começar, daremos ênfase na alternativa JDBC explorando os recursos disponíveis para manipulação dos dados de uma aplicação desenvolvida em Java.

Java Database Connectivity ou JDBC é um conjunto de classes e interfaces escritas em Java que fazem o envio de instruções SQL para qualquer banco de dados relacional.

IMG

🔔 Atenção
Não queira dominar JDBC sem antes obter conceitos fundamentais sobre SQL, para a sua sorte, exploramos SQL recentemente e disponibilizamos no conteúdo deste link.

Em Java tudo é parte da constituição de classes e interfaces, para realizar uma integração com banco de dados não seria diferente. Abaixo segue uma tabela com as interfaces mais relevantes para a manipulação de dados utilizando JDBC.

NomeDescrição
java.sql.DriverManagerClasse responsável por gerenciar o driver de conexão de acordo com o banco de dados
java.sql.ConnectionInterface que representará a conexão criada pelo gerenciador de conexões
java.sql.StatementInterface que representará um procedimento SQL (insert, update, delete, select) que será executado
java.sql.PreparedStatementInterface com a mesma finalidade que a Statement que permite mencionar parâmetros, evitando o famoso SQL Inject
java.sql.ResultSetInterface que representará uma resposta em forma de cursor que representa a matriz de dados conforme estrutura dos SELECTS
✔️ Conexão
É importante pensar em realizar a conexão antes mesmo de pensar em realizar operações SQL afetando de alguma forma o banco de dados.Para isso, defina seu banco de dados, importe o .jar correspondente e realize o processo de configuração.Recomendamos utilizar um projeto maven para a proposta de criar um sistema que conecta a algum banco e dados.

Depois do projeto criado, precisaremos inicialmente criar a conexão ao banco de dados utilizando a classe java.sql.DriverManager.

FabricaConexao.java
import java.sql.Connection;
import java.sql.DriverManager;

public class FabricaConexao {
    /**
     Definimos uma variável estática para evitar
     a criar uma conexão a cada execução
     */
    private static Connection conexao;

    /**
     Este método devera ser chamado somente na inicialização do seu sistema
     através da sua classe principal (main)
     */
    public static void criarConexao(){
        try{
            //ao tentar conectar você poderá receber alguns erros
            //confira se adicionar a dependencia e informações do seu banco de dados

            String driver   = "org.postgresql.Driver";
            String url      = "jdbc:postgresql://HOST/DATABASE"; //-> exemplo: jdbc:postgresql://localhost:5432/sample
            String username = "USERNAME"; // -> postgres
            String password = "PASSWORD"; // -> postgres

            Class.forName(driver).newInstance();
            conexao = DriverManager.getConnection(url, username, password);
        }catch (Exception exception){
            exception.printStackTrace();
        }
    }
    public static Connection getConexao(){
        //quando chamar o método a mesma conexão sempre será retomada
        return conexao;
    }
}