quarta-feira, 21 de dezembro de 2011

Conectando Aplicação Java Com Banco de Dados

Fala galera!!! \0/
Estou aqui novamente para mostrar à vocês uma coisa excepcional no desenvolvimento em qualquer linguagem 'CONEXÃO COM O BANCO DE DADOS!'. Isso mesmo, hoje vamos aprender como fazer isso de uma forma bem simples. Então vamos lá!
Segue abaixo a Classe de Conexão:
public class Conexao {
static String status = "";
public static Connection getConnection(){
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");     //pega a classe Driver
String url = "jdbc:mysql://localhost/publico?user=root&password=";      //publico é o schema, root o usuario, e no meu caso nao tem senha.
con = DriverManager.getConnection(url);      //conecta ao banco.
status = "Conexão Aberta";         //muda o status para conexão aberta.
} catch (ClassNotFoundException e) {
status = e.getMessage();
} catch (SQLException e) {
status = e.getMessage();
} catch (Exception e){
status = e.getMessage();
}
return con;//retorna a conexao.
}
Agora que já temos a Classe Conexao, podemos começar a ‘brincar’ com nosso banco.
Criarei uma Classe chamada ComandosSql, que terá três métodos. Um para criar uma tabela, um para inserir um registro, e outro para consultar um registro. Segue então abaixo:
public class ComandosSql {
public void criaTabela(Statement stm) throws SQLException{
stm.execute("CREATE table pessoa(" +     //cria a tabela pessoa com os campos
"id_pessoa int auto_increment," +       //pk da tabela, com auto increment
"constraint sq_pessoa primary key(id_pessoa),"+      //sequence da tabela.
"nome char varying(200)," +      //nome da pessoa
"cpf char varying(14)" +       //cpf da pessoa
");");
}
public void inserePessoa(Statement stm, String id_pessoa, String nomePessoa, String cpf) throws SQLException{
stm.execute("insert into pessoa(id_pessoa,nome,cpf) values (" +    //cod sql para inserir um registro em um tabela
"'"+id_pessoa+"'," +    //valor da primary key
"'"+nomePessoa+"'," +    //valor do nome da pessoa
"'"+cpf+"')");     //valor do cpf
}
public void consultaRegistro(Statement stm, String nomePessoa) throws SQLException{
ResultSet resultSet = stm.executeQuery("select f.nome,f.cpf " +     //pega cpf e nome
"from pessoa f " +    //da tabela pessoa
"where f.nome='"+nomePessoa+"'");    //onde nome = nome passado
if(resultSet.next()){    //se tem resultado
System.out.println("Nome: "+resultSet.getString("f.nome")+     //imprime nome
"\nCpf: "+resultSet.getString("cpf"));    //e cpf.
}
}
}
Com a Classe criada, falta apenas executar os métodos, que é o que faremos na classe Main que segue abaixo:
public class Iniciar {
public static void main(String[] args) {
Connection con = Conexao.getConnection();//pega conexao e conecta.
System.out.println(Conexao.status);//imprime estado da conexao
try {
Statement stm = con.createStatement();//instancia um statment
ComandosSql comandosSql = new ComandosSql();//intancia um comandosSql
comandosSql.criaTabela(stm);//cria tabela
comandosSql.inserePessoa(stm,"1","Flavio Mendes", "000.000.000-00");//insere a pessoa
comandosSql.consultaRegistro(stm,"Flavio Mendes");//pesquisa nome.
} catch (SQLException e) {
e.printStackTrace();
}
}
}
É isso ai galera, mais uma dica dada à todos aqueles que seguem este blog e, aos demais que querem aprender um pouco mais sobre esta linguagem...
Abraços!

Nenhum comentário:

Postar um comentário

Admin: Bruno

Olá Galera! muito grato por estarem acessando nosso blog. Espero que seja possível transmitir de forma compreensível um pouco de meus conhecimentos em programação, para esta comunidade de desenvolvedores que cresce cada vez mais! Espero que Gostem! Abraço! E meu enorme obrigado à Renato Simões, Átila Soares,Wanderson Quinto, Emerson e a toda galera que sempre ajudou meu sincero obrigado....
Especialmente a Natalia Failache e Rita de Cassia que sempre apoiaram este sonho....

De seu amigo Bruno Rafael.