Conexao JDBC Java
Autor: Edson Gouveia  | Publicado: 2012-07-10T23:18:00-07:00

Ola, Povos e Povas! :)
&nbsp; &nbsp; &nbsp; &nbsp; 
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Para abrir uma conexão com um banco de dados, precisamos utilizar sempre um driver. A classe&nbsp;DriverManager&nbsp;é a responsável por se comunicar com todos os drivers que você deixou disponível.

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Para isso, invocamos o método estático&nbsp;getConnection&nbsp;com uma&nbsp;String&nbsp;que indica a qual banco desejamos nos conectar.

&nbsp; &nbsp; &nbsp;Essas&nbsp;Strings&nbsp;- chamada de&nbsp;String de conexão JDBC&nbsp;- que utilizaremos para acessar o postgresql tem sempre a seguinte forma:


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // local
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String local = "localhost";
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //banco de dados a ser utilizado
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String banco = "PetShow";
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String usuario = "postgres";
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String senha = "edsongouveia";

// Passando as String de endereço da conexão!&nbsp;
&nbsp; this.conn = DriverManager.getConnection("jdbc:postgresql://"
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; + local + "/" + banco
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; + "?charSet=LATIN1", usuario, senha);
&nbsp; 

&nbsp; &nbsp; &nbsp; &nbsp; Seguindo o exemplo da linha acima e tudo que foi dito até agora, seria possível rodar o exemplo abaixo e receber uma conexão para um banco postgresql, caso ele esteja rodando na mesma máquina:



package ConexaoPostgres;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/*
&nbsp;* To change this template, choose Tools | Templates
&nbsp;* and open the template in the editor.
&nbsp;*/

/**
&nbsp;*
&nbsp;* @author Edson Gouveia
&nbsp;*/
public class Conexao {



&nbsp; &nbsp; private Connection conn;

&nbsp; &nbsp; public Statement conexao() {
&nbsp; &nbsp; &nbsp; &nbsp; Statement stmt = null;
&nbsp; &nbsp; &nbsp; &nbsp; try {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //classe referente ao banco de dados postgresql
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Class.forName("org.postgresql.Driver");
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //local do banco, neste caso o banco se encontra localmente
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String local = "localhost";
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //banco de dados a ser utilizado
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String banco = "PetShow";
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String usuario = "postgres";
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String senha = "edsongouveia";

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.conn = DriverManager.getConnection("jdbc:postgresql://"
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; + local + "/" + banco
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; + "?charSet=LATIN1", usuario, senha);
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //codigo para execução de uma instrução sql
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stmt = this.conn.createStatement();
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //JOptionPane.showMessageDialog(null, "conectado");
&nbsp; &nbsp; &nbsp; &nbsp; } catch (ClassNotFoundException e) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println("ClassNotFound: " + e.getMessage() + "...");
&nbsp; &nbsp; &nbsp; &nbsp; } catch (SQLException e) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println("Open Exception: " + e.getMessage() + "...");
&nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; return stmt;
&nbsp; &nbsp; }

&nbsp; &nbsp; public void desconectar() {
&nbsp; &nbsp; &nbsp; &nbsp; try {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.conn.close();
&nbsp; &nbsp; &nbsp; &nbsp; } catch (SQLException ex) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println(ex.getMessage());
&nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; }
}


&nbsp; &nbsp; &nbsp; &nbsp;Statement vai preparar um DML (que você passa como String) e mandar para o banco através do Connection, quando o banco processa o pedido, recebe o retorno.

&nbsp; &nbsp; &nbsp; &nbsp;O ultimo método (desconectar) para fechar a conexão, dentro dele chamamos o método close(); ele é importantíssimo ser chamado dentro de um método apos abrir a conexão.


Espero ter Ajudado!
Que Deus abençoe todos vocês.