segunda-feira, 19 de março de 2012

Acesso ao MySQL

Chega uma hora que desejamos acessar um banco de dados para podermos gravar as informações de nossos programas, não é?

Muitas ferramentas como NetBeans e Eclipse possuem classes prontas para serem utilizadas e algumas até na forma de Beans. Neste post vamos fazer algo da "velha guarda", vamos criar uma classe para acessar um banco de dados MySQL diretamente da linha de comando... e aproveitar para ver algumas pequenas configurações que temos que fazer para que isto funcione.

Vamos ver o código de teste de acesso.

//Classes necessarias para uso de Banco de dados //
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
//Inicio da classe de
//
// ************************************* ConexaoMySQL
//
//
class ConexaoMySQL {
  public static String status = "Nao conectou...";

  static String serverName = "localhost";    //caminho do servidor do BD
  static String mydatabase ="mysql";        //nome do seu banco de dados
  static String username = "root";        //nome de um usuario de seu BD     
  static String password = "senharoot";      //sua senha de acesso

  private static Connection connection = null;  //atributo do tipo Connection

  //Metodo Construtor da Classe//
  public ConexaoMySQL() {
  }
 
  public ConexaoMySQL(String usuario, String senha) {
    username = usuario;
    password = senha;
  }

  public ConexaoMySQL(String usuario, String senha, String host) {
    serverName = host;
    username = usuario;
    password = senha;
  }

  //Metodo de Conexao//
  public static java.sql.Connection getConexaoMySQL() {
     return connection;
  }

  public static java.sql.Connection openConexaoMySQL() {
     try {
       // Carregando o JDBC Driver padrao
       String driverName = "com.mysql.jdbc.Driver";                       
       Class.forName(driverName);
 
       // Configurando a nossa Conexao com um banco de dados//
       String url = "jdbc:mysql://" + serverName + "/" + mydatabase;
       connection = DriverManager.getConnection(url, username, password);
 
       //Testa sua Conexao// 
       if (connection != null) {
         status = ("STATUS--->Conectado com sucesso! [" + serverName + "]");
       } else {
         status = ("STATUS--->Nao foi possivel realizar Conexao");
       }
 
       return connection;
 
    } catch (ClassNotFoundException e) { 
       //Driver nao encontrado
       System.out.println("O driver expecificado nao foi encontrado.");
       return null;
    } catch (SQLException e) {
       //Nao conseguindo se conectar ao banco
       System.out.println("Nao foi possivel conectar ao Banco de Dados.");
       return null;
    }
 
 }
 
  //Metodo que retorna o status da sua Conexao//
  public static String statusConection() {
    return status;
  }
 
  //Metodo que fecha sua Conexao//
  public static boolean FecharConexao() {
    try {
       connection.close();
       return true;
    } catch (SQLException e) {
       return false;
    }
 
  }
 
  //Metodo que reinicia sua Conexao//
  public static java.sql.Connection ReiniciarConexao() {
     FecharConexao();
     return ConexaoMySQL.openConexaoMySQL();
  }


}

public class TestaMySQL {

    static ConexaoMySQL conn;

    // main --> cria a conexão com o banco de dados e nada mais
    public static void main(String[] args) {
   
        conn = new ConexaoMySQL();
        conn.openConexaoMySQL();
        System.out.println(conn.statusConection());
       
        if (conn.getConexaoMySQL() != null) {
           
           System.out.println("Conexão realizada com sucesso !");
           System.out.println("Esta na hora de colocar o código para acesso aos dados do MySQL");
           
        }
        conn.FecharConexao();
   
    }
}


Para a classe de conexão funcionar são necessárias três classes de java.sql.
  • Connection:
  • DriverManager:
  • SQLException:
Note que criamos 3 construtores:
  • um sem parâmetros, assim são utilizados os valores default
  • um com 2 parâmetros, permitindo selecionar um novo usuário e senha com acesso a localhost
  • um que permite definir o usuário, senha e servidor
Vamos compilar e rodar
Não rodou! Por que?
Lembram-se do DriverManager que ele carregava "com.mysql.jdbc.Driver". Onde está este driver? O melhor lugar para ele estar (na sua máquina de desenvolvimento) é no diretorio ext do java. No meu computador isto quer dizer [C:\Arquivos de programas\Java\jre7\lib\ext].

Este driver pode ser achado em [http://dev.mysql.com/downloads/connector/j/]. Faça o download do arquivo para um local no seu computador. Descompacte e copie o arquivo [mysql-connector-java-5.1.19-bin.jar] para o diretório ext.

Dependendo de quando você estiver lendo este post o número de versão do arquivo poderá ser diferente.

Vamos tentar novamente:
Funciona!!!

Em breve vamos rodar alguns selects, inserts, updates em tabelas do MySQL.

Dê uma olhada no vídeo para os passos deste post.

Nenhum comentário:

Postar um comentário