terça-feira, 17 de março de 2009

Usando JDBC com MYSQL

Este é o primeiro post marcado como "técnico". Pretendo regularmente escrever alguma coisa sobre algo que aprendi recentemente. Você perceberá que haverá uma série de artigos sobre Java, já que sou um entusiasta desta linguagem. Este post trata de explicar em poucos passos, como Java pode se comunicar com um banco de dados relacional, como o MySQL. No entanto, isto não é uma restrição, ou seja, você tem a liberdade de fazer uma conexão com qualquer outro banco, como por exemplo o Microsoft SQLServer ou Oracle. A conexão com o banco de dados será feita através do JDBC (Java Database Connectivity) que é um conjunto de classes e interfaces (API) inclusas tanto no J2SE como no J2EE, para fornecer conexão com uma larga variedade de banco de dados SQL. Mostraremos como funciona o JDBC para uma consulta SQL simples.

Antes de mais nada, é necessário que você baixe o drive conector que fará a ponte Java-MySQL do JDBC aqui. O arquivo a ser baixado deverá ser um arquivo chamado MySQL Connector/J 5.1, ou uma versão mais recente. Depois de baixado, você deverá adicionar o driver a classpath do projeto. Caso você esteja utilizando uma IDE como o Eclipse ou NetBeans, isso é muito fácil. Todo o exemplo foi implementando o NetBeans, mas se você usa o eclipse, não há problemas, o princípio é o mesmo. Antes de mais nada, descompacte o arquivo que você acabou de baixar. Para adicionar (no NetBeans) o JDBC ao seu projeto, clique com botão direito no pacote de bibliotecas, em seguida selecione a opção "adicionar JAR/Pasta...". Uma janela de seleção de arquivos é aberta. Selecione o arquivo .jar da pasta que você acabou de descompactar. Pronto, o JDBC já está configurado. Vamos aos códigos :) .


package javaMySQL;

/*Importando as bibliotecas necessárias*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

public class BancoDeDados {

private String usuario;
private String senha;

public BancoDeDados(String usuario, String senha) throws ClassNotFoundException
{
this.usuario = usuario;
this.senha = senha;

//Passo 1: Carregar o drive JDBC.
Class.forName("com.mysql.jdbc.Driver");
}

public String recuperaNomePorId(int id) throws SQLException
{
String nome = null;

/*Estabelecer uma conexão com o Banco de Dados*/
String url = "jdbc:mysql://localhost/javatest"; //javatest é o nome do banco que criei
Connection conn = DriverManager.getConnection(url, this.usuario , this.senha);//usuario e senha do BD
Statement stm = conn.createStatement();
String query = "SELECT nome FROM pessoa WHERE id = " + id;

ResultSet rs = stm.executeQuery(query);

while(rs.next())
{
nome = rs.getString("nome");
}

return nome;
}

public static void main(String[] args) /*Método para teste do funcionamento da conexão com o BD*/
{
BancoDeDados bd;
try {
bd = new BancoDeDados("root", "");
String nome = bd.recuperaNomePorId(1);
System.out.println("nome = " + nome);
}
catch
(ClassNotFoundException ex) {
Logger.getLogger(BancoDeDados.class.getName()).log(Level.SEVERE, null, ex);
}
catch (SQLException ex) {
Logger.getLogger(BancoDeDados.class.getName()).log(Level.SEVERE, null, ex);
}
}

}

Para mais detalhes, clique aqui.


2 comentários:

Anônimo disse...

Cabra! vc ficou doidinho com C#, diga a verdade!!!

kkkkkkkkkkkk

Anônimo disse...

a única coisa que eu sei é que Java é o que aparece quando eu jogo no celular :D

Postar um comentário