Passo a passo para criar uma Tela de cadastro

Propaganda
Passo a passo para criar uma Tela de cadastro (Utilizando o Banco de Dados Access)
Prof. André Silva
1) Criar a classe ConnectionFactory:
package testeconexao;
import java.sql.*;
public class ConnectionFactory {
public static java.sql.Connection getConnection() throws SQLException {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("Conectando ao banco");
java.sql.Connection conn =
DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver
(*.mdb)};DBQ=C:/JDBC/banco.mdb");
return conn;
} catch (ClassNotFoundException e) {
throw new SQLException(e.getMessage());
}
}
}
2) Criar a classe ContatoDAO:
package testeconexao;
import
import
import
import
import
java.sql.PreparedStatement;
java.sql.ResultSet;
java.sql.SQLException;
java.util.ArrayList;
java.util.List;
public class ContatoDAO {
public java.sql.Connection connection;
public ContatoDAO() throws SQLException {
this.connection = ConnectionFactory.getConnection();
}
//METODO RESPONSAVEL POR INSERIR DADOS NA TABELA CADASTRO
public void adiciona(CadastroPojo cadast) throws SQLException {
// prepared statement para inserção
PreparedStatement stmt = (PreparedStatement)
((java.sql.Connection) this.connection).prepareStatement
("insert into cadastro(codigo,nome) values (?, ?)");
// seta os valores
stmt.setInt(1, cadast.getCodigo());
stmt.setString(2, cadast.getNome());
// executa
stmt.execute();
stmt.close();
}
//METODO RESPONSAVEL POR ALTERAR DADOS NA TABELA CADASTRO
public void alterar(CadastroPojo cadast) throws SQLException {
// prepared statement para inserção
PreparedStatement sql = this.connection.prepareStatement("update cadastro set nome =
'"+cadast.getNome()+"' where codigo = "+cadast.getCodigo());
sql.executeUpdate();
}
//METODO RESPONSAVEL POR DELETAR DADOS NA TABELA CADASTRO
public void deletar(CadastroPojo cadast) throws SQLException {
PreparedStatement sql = this.connection.prepareStatement("delete from cadastro where
codigo = "+ cadast.getCodigo());
sql.executeUpdate();
}
public List selecionar(CadastroPojo cadast) throws SQLException {
PreparedStatement sql = this.connection.prepareStatement("select nome from cadastro
where codigo = "+ cadast.getCodigo());
ResultSet rs = sql.executeQuery();
//CRIA OBEJTO LISTACONTATO DO TIPO LIST RESPONSAVEL POR ARMAZENAR TODOS OS REGISTRO
QUE FOREM SELECIONADOS NO CASO 1 SO
List<CadastroPojo> listacontato = new ArrayList<CadastroPojo>();
while (rs.next()) {
//cria objeto temporario cadastro
CadastroPojo cadastro = new CadastroPojo();
//instancia o objeto
cadastro.setNome(rs.getString("nome"));
//insere dados na lista
listacontato.add(cadastro);
}
//fecha recordset
rs.close();
//fecha statement
sql.close();
return listacontato;
}
}
3) Criar o Banco de Dados:
Criar a tabela cadastro
Salvar o Banco no diretório -> C:\JDBC
4) Criar a classe CadastroPojo:
package testeconexao;
public class CadastroPojo {
private int codigo;
private String nome;
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
5) Implentar a tela de Cadastro (evento ActionPerformed):
 Botão Inserir:
try {
//CRIACAO DOS OBJETOS:
CadastroPojo cadastro = new CadastroPojo();
ContatoDAO dao = new ContatoDAO();
//ENVIA DADOS PARA MINHA CLASSE CADASTRO
cadastro.setCodigo(Integer.parseInt(jTextField1.getText()));
cadastro.setNome(jTextField2.getText());
//COMANDO QUE ADD DADOS NA TABELA:
dao.adiciona(cadastro);
//SE NAO OCORRER NENHUM ERRO A SEGUINTE MENSAGEM E EXIBIDA:
JOptionPane.showMessageDialog(null, "Registro Salvo com sucesso!");
//LIMPA OS CAMPOS
jTextField1.setText("");
jTextField2.setText("");
} catch (SQLException ex) {
Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
}

Botão Excluir:
try {
CadastroPojo cadastro = new CadastroPojo();
ContatoDAO dao = new ContatoDAO();
cadastro.setCodigo(Integer.parseInt(jTextField1.getText()));
cadastro.setNome(jTextField2.getText());
dao.deletar(cadastro);
JOptionPane.showMessageDialog(null, "Registro Deletado com Sucesso!");
} catch (SQLException ex) {
Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
}

Botão Alterar:
try {
ContatoDAO dao = new ContatoDAO();
CadastroPojo cadastro = new CadastroPojo();
cadastro.setCodigo(Integer.parseInt(jTextField1.getText()));
cadastro.setNome(jTextField2.getText());
dao.alterar(cadastro);
JOptionPane.showMessageDialog(null, "Registro Alterado com Sucesso!");
} catch (SQLException ex) {
Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
}

Botão Consultar:
String nome = null;
try {
ContatoDAO dao = new ContatoDAO();
CadastroPojo cadastro = new CadastroPojo();
if (jTextField1.getText().equals("")|| jTextField1.getText().equals(null)){
JOptionPane.showMessageDialog(null, "É necessário entrar com o código");
}else{
cadastro.setCodigo(Integer.parseInt(jTextField1.getText()));
dao.selecionar(cadastro);
List<CadastroPojo> listaCadastro = dao.selecionar(cadastro);
for (CadastroPojo cursor : listaCadastro) {
nome = (cursor.getNome());
}
jTextField2.setText(nome);
}
} catch (SQLException ex) {
Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
}
Download