Criando classe de conexão Java – Parte 1.

Olá.

Neste post iremos criar uma classe de conexão java.
Esta classe fará leitura de um arquivo de propriedades, nele conterá todo parâmetro para conexão.

Desta maneira não teremos acomplamento a um tipo de banco de dados, ou seja ,
não será necessário escrever na própria classe “hard code” a conexão com o banco de dados.

Obs:Se quiser seguir o tutorial a risca faça os downloads, senão ignore os passos seguintes e use o banco de dados que melhor servir, juntamente com seu driver JDBC.Depois é só editar o arquivo de propriedades que iremos criar.
1°)Faça os seguintes downloads, caso não possua estes arquivos:
Oracle Express 11g
ojdbc14.jar
Obs:o arquivo ojdbc14.jar ou qualquer outro driver jdbc,deve ser colocado na raiz do projeto, que iremos criar.
Clique em aceitar, para liberar o download e siga os procedimentos…
ScreenHunter_01 May. 26 00.15
2°)Após baixar os arquivos instale o Oracle Express 11g, que será nosso banco de dados, para este exemplo.
Siga os assistente de instalação, quando pedir uma senha digite “Tiger”, essa senha será do usuário SYSTEM que é o usuário padrão do Oracle.
Em caso de dúvida, segue um link com um video tutorial:
Instalação Oracle 11g

Abra o eclipse crie um novo projeto “Java Project“, aperte a combinação [CTRL+N], em “Project name” coloque ConexaoJDBC.

Novo projeto

Selecione o projeto, clique com botão direito do mouse e siga p/ Buid Path > Configure Build Path.
Como na imagem abaixo…
build path
Clique em [Add External Jars], e adicione o arquivo ojdbc14.jar ou o driver JDBC de sua preferência, após isso clique em [OK].

Após este passo, criaremos a classe de conexão Java, aperte a combinação [CTRL+N], o arquivo é do tipo Class.
Nome da classe “Name” será “AcessoBD” e no pacote “package” coloque “br.controle”.

ScreenHunter_01 Jun. 09 20.30

Agora que foi criado a classe e o pacote, teremos que criar os métodos da classe, conectar e desconectar.
Digite conforme o código abaixo ou copie e cole.


package br.controle;

import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;
/**
*
* @author Roberto Silva
*/
public class AcessoBD{

    public static Connection conectar() throws Exception {
        Connection connection = null;
        String driver = "";
        String usuario = "";
        String senha = "";
        String url = "";
        String banco = "";

        //so renomear se precisar do outro properties
        File prop_file = new File(new File("").getAbsolutePath() + "/jdbc.properties");

        if (!prop_file.isFile()) {
            throw new Exception("Não achou a arquivo de propriedade, caminho:" + prop_file.getAbsolutePath() + " , errado.");
        }

        Properties properties = new Properties();
        //Setamos o arquivo que será lido
        FileInputStream fis = new FileInputStream(prop_file.getAbsolutePath());

        //método load faz a leitura através do objeto fis
        properties.load(fis);

        //Captura o valor da propriedade, através do nome da propriedade(Key)
        usuario = properties.getProperty("jdbc.user");
        senha = properties.getProperty("jdbc.pass");
        driver = properties.getProperty("jdbc.driver");
        url = properties.getProperty("jdbc.url");
        banco = properties.getProperty("jdbc.dataBase");

        Class.forName(driver);

        connection = DriverManager.getConnection(url + banco, usuario, senha);

        return connection;
    }

    //sobrecarga dos metodo desconectar,
    //na sobrecarga muda somente a assinatura dos metodos ou seja os parâmetros
    public static void desconectar(Connection conn) {
        try {
            if (conn != null) {
                conn.close();
            }
        } catch (Exception e) {
            System.out.println("Exceção, causa:" + e.getClass());
            e.printStackTrace();
        }
    }

    public static void desconectar(Connection conn, PreparedStatement pstm) {
        try {
            if (pstm != null) {
                pstm.close();
            }

            if (conn != null) {
                conn.close();
            }

        } catch (Exception e) {
            System.out.println("Exceção, causa:" + e.getClass());
            e.printStackTrace();
        }
    }

    public static void desconectar(Connection conn, PreparedStatement pstm, ResultSet rs) {
        try {

            if (rs != null) {
                rs.close();
            }

            if (pstm != null) {
                pstm.close();
            }

            if (conn != null) {
                conn.close();
            }

        } catch (Exception e) {
            System.out.println("Exceção, causa:" + e.getClass());
            e.printStackTrace();

        }
    }
}

Como podemos observar o método conectar(), retornará um objeto do tipo java.sql.Connection,este objeto é da API JDBC, para uso do SQL.Também que fará leitura de um arquivo de propriedades,conforme este trecho:

 FileInputStream fis = new FileInputStream(prop_file.getAbsolutePath());

Vamos criá-lo neste momento, aperte a combinação [CTRL+N] para criar um novo arquivo, na árvore General, siga para o tipo File aperte [Next]. O nome do arquivo será “jdbc.properties”.

general_file
Digite o conteúdo abaixo.

#parametros de conexao com banco.
jdbc.dataBase=XE
jdbc.url=jdbc:oracle:thin:@localhost:1521:
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.user=SYSTEM
jdbc.pass=Tiger

No próximo post iremos criar uma tabela no Oracle e testar a persistência com o banco de dados.

Obrigado pela visita.Até o próximo post.