Para abrir uma conexão com um banco de dados, precisamos utilizar sempre um driver. A classe DriverManager é a responsável por se comunicar com todos os drivers que você deixou disponível. Para isso, invocamos o método estático getConnection com uma String que indica a qual banco desejamos nos conectar.
Essa String - chamada de String de conexão JDBC - utilizada para acessar o MySQL, segue o padrão abaixo:
jdbc:mysql://ip/nome_do_banco
Devemos substituir ip pelo IP do servidor e nome_do_banco pelo nome do banco de dados a ser utilizado, o restante mantem o padrão.
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 MySQL chamado exemplo, caso ele esteja rodando na mesma máquina:
public class JDBCExemplo {
public static void main(String[] args) throws SQLException {
Connection conexao = DriverManager.getConnection("jdbc:mysql://localhost/nome_banco","usuario","senha");
System.out.println("Conectado!");
conexao.close();
}
}
Parâmetos a serem preencidos no getConnection: jdbc:mysql://localhost/nome_banco.
- Devemos substituir localhost para o IP ou nome do servidor
- Devemos substituir nome_banco pelo nome do banco de dados
- Devemos substituir usuario pelo usuário de acesso ao banco de dados
- Devemos substituir senha pela senha do usuário de acesso ao banco de dados
Repare que estamos deixando passar a SQLException, que é uma exception checked, lançada por muitos dos métodos da API de JDBC. Em uma aplicação real devemos utilizar try/catch nos lugares que julgamos haver possibilidade de recuperar uma falha com o banco de dados. Também precisamos tomar sempre cuidado para fechar todas as conexões que foram abertas.
É necessário carregar o driver MySQL na biblioteca.
Clique com botão direito nas bibliotecas >> Adicionar biblioteca, na lista escolha MySQL JDBC Driver.
Abaixo segue exemplo de uma classe simples para conexão.
- Crie um banco de dados chamado banco, tenha em mãos seu usuario e senha do MySQL;
- Para efetuar teste com esta classe, crie um novo projeto no NetBeans chamado Fabrica. Clique no menu Novo >> Novo Projeto, categoria Java e projetos “Aplicativo a área de trabalho Java”.
- Crie uma nova classe no seu projeto chamada Conexao, para isso clique com botão direito do mouse no pacote principal escolha Novo >> Classe Java, ao solicitar o nome da classe digite Conexao, pressione Finalizar para concluir. (observe que a primeira letra é maiuscula).
- Copie os imports necessários em destaque vermelho logo abaixo e cole na classe Conexao em baixo da linha: package Fabrica;
Imports necessarios para a classe de conexão:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
Código fonte da classe Conexao:
public Conexao () { } //Possibilita instancias
public static Connection con = null;
public static void Conectar() {
System.out.println("Conectando ao banco...");
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/banco","root","");
System.out.println("Conectado.");
} catch (ClassNotFoundException ex) {
System.out.println("Classe não encontrada, adicione o driver nas bibliotecas.");
Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
} catch(SQLException e) {
System.out.println(e);
throw new RuntimeException(e);
}
}
Observe que existem quatro parametros para serem configurados na classe Conexao, eles são: IP, BANCO, USUARIO E SENHA.
PARA REALIZAR O TESTE COM SUA CLASSE DE CONEXÃO, FAÇA O SEGUINTE:
Crie um JFRAME e um botão no meio com o seguinte código:
Conexao.Conectar();
Este método Conectar() será executado normalmente na abertura do frame, já instanciando a variável con da classe Conexao com as informações para conectar-se ao banco de dados. A partir deste momento a variável con da classe Conexao está declarada contendo os dados de conexão.
Para fechar a conexão é necessário usar: Conexao.con.close();
No NetBeans clique com botão direito do mouse sobre o projeto, Novo >> Formulário Jframe. Ao solicitar o nome do frame digite nome desejado.
EXEMPLO DA CLASSE Conexao
package Fabrica;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Conexao {
public Conexao () { } //Possibilita instancias
public static Connection con = null;
public static void Conectar() {
System.out.println("Conectando ao banco...");
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/banco","usuario","senha");
System.out.println("Conectado.");
} catch (ClassNotFoundException ex) {
System.out.println("Classe não encontrada, adicione o driver nas bibliotecas.");
Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
} catch(SQLException e) {
System.out.println(e);
throw new RuntimeException(e);
}
}
}