Conectando banco de dados MySQL com Java – Parte 2

Após a introdução e explanação sobre o que é o JDBC postadas neste blog na primeira parte, agora iremos realmente efetuar uma conexão de um aplicativo desktop com uma base de dados MySQL.

Assumirei aqui que você já possua uma base de dados MySQL configurada e com alguns registros e uma aplicação desktop ou web desenvolvida, faltando somente a parte de conexão e manipulação dos registros da base de dados.

Este é o código da classe responsável em se conectar com a base de dados MySQL

// Importando o pacote SQL
import java.sql.*;public class ConexoesJDBC{public static Connection getConnectionMySQL() throws Exception{
try{
// Driver MySQL
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
// url, login, senha
return DriverManager.getConnection(“jdbc:mysql://localhost:3306/banco”, “root”, “”);
}
// Se ocorrer qualquer erro relativa a classe….
catch(ClassNotFoundException e){
throw new SQLException(e.getMessage());
}
}
}

Código da classe que faz uso da conexão com a base de dados para efetuar suas consultas

import java.sql.*;public class CursoDAO{private Connection conexao;

public CursoDAO() throws Exception {
// Recebe a conexão da classe ConexoesJDBC
this.conexao = ConexoesJDBC.getConnectionMySQL();
}

public void inserirCurso(Curso c){
try{
PreparedStatement stmt = this.conexao.prepareStatement(“insert into curso (nomecurso) values(?)”);
// Insere na tabela curso o valor passado como parâmetro, por exemplo o nome
stmt.setString(1, c.getNomeCurso());
// Atualiza na base de dados
stmt.execute();
}
catch(SQLException e){
// se ocorrer erro…
System.out.println(“incluirCurso(): “+e.toString());
}
}

public Curso consultarCurso(int cod){
try{
PreparedStatement stmt = this.conexao.prepareStatement(“select * from curso where idcurso = ?”);
stmt.setString(1, String.valueOf(cod));
ResultSet res = stmt.executeQuery();
// verifica se possui ao menos um registro
if(res.next())
return new Curso(res.getInt(“idcurso”),res.getString(“nomecurso”));
else
return null;
}
catch(SQLException e){
System.out.println(“consultarCurso(): “+e.toString());
}
return null;
}

public void atualizarCurso(Curso c){
try{
PreparedStatement stmt = this.conexao.prepareStatement(“update curso set nomecurso=? where idcurso=?”);
stmt.setString(1, c.getNomeCurso());
stmt.setInt(2, c.getIdcurso());
stmt.executeUpdate();
}
catch(SQLException e){
System.out.println(“atualizarCurso(): “+e.toString());
}
}

public void excluirCurso(Curso c){
try{
PreparedStatement stmt = this.conexao.prepareStatement(“delete from curso where idcurso=?”);
stmt.setInt(1, c.getIdcurso());
stmt.executeUpdate();
}
catch(SQLException e){
System.out.println(“excluirCurso(): “+e.toString());
}
}
}

Esses códigos acima demosntrados, são somente de exemplo, ao criar um novo método de conexão na classe ConexoesJDBC para banco de dados Oracle ou SQL Server por exemplo, o que teria de ser mudado na classe que faz uso da base, no caso a classe CursoDAO, é no objeto da classe Connection, que ao invés de receber o valor do método relativo ao MySQL, receberia do SGBD que fosse definido como padrão.

Até a próxima, espero ter contribuido com o seu conhecimento.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s