Olá pessoal estou começando a programar em java e estou com algumas dificuldades, e gostaria da ajuda de vocês,
eu estou fazendo um programa onde eu tenho que cadastra, consultar , alterar e excluir uma cidade, eu pesquisei e encontrei vários materiais
referente ao Design Pattern DAO, então consegui fazer o seguinte código.
esta e minha classe de conexão
[/code]
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionDataBase { private static final String URL_MYSQL = “jdbc:mysql://localhost/banco”;
private static final String DRIVER_CLASS = “com.mysql.jdbc.Driver”;
private static final String USER = “root”;
private static final String PASS = " ";
public static Connection getConnection() {
System.out.println(“Conectando ao Banco de Dados”);
try {
Class.forName(DRIVER_CLASS);
return DriverManager.getConnection(URL_MYSQL, USER, PASS);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
}[code]
depois tem a minha classe de GenericDao.
[/code]
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public abstract class GenericDao {
private Connection connection;
protected GenericDao() {
this.connection = ConnectionDataBase.getConnection();
}
protected Connection getConnection() {
return connection;
}
protected void save(String insertSql, Object… parametros) throws SQLException {
PreparedStatement pstmt = getConnection().prepareStatement(insertSql);
for (int i = 0; i < parametros.length; i++) {
pstmt.setObject(i+1, parametros[i]);
}
pstmt.execute();
pstmt.close();
}
protected void update(String updateSql, Object id, Object… parametros) throws SQLException {
PreparedStatement pstmt = getConnection().prepareStatement(updateSql);
for (int i = 0; i < parametros.length; i++) {
pstmt.setObject(i+1, parametros[i]);
}
pstmt.setObject(parametros.length + 1, id);
pstmt.execute();
pstmt.close();
}
protected void delete(String deleteSql, Object… parametros) throws SQLException {
PreparedStatement pstmt = getConnection().prepareStatement(deleteSql);
for (int i = 0; i < parametros.length; i++) {
pstmt.setObject(i+1, parametros[i]);
}
pstmt.execute();
pstmt.close();
}
}[code]
ai depois eu tenho a classe a minha classe Cidades
[/code]import java.sql.Date;
public class Cidades {
private String nome_cidade;
private String UF_cidade;
private Long idcidades;
private int CEP_cidade;
private int codigo_ibge;
public int getCEP_cidade() {
return CEP_cidade;
}
public void setCEP_cidade(int CEP_cidade) {
this.CEP_cidade = CEP_cidade;
}
public String getUF_cidade() {
return UF_cidade;
}
public void setUF_cidade(String UF_cidade) {
this.UF_cidade = UF_cidade;
}
public int getCodigo_ibge() {
return codigo_ibge;
}
public void setCodigo_ibge(int codigo_ibge) {
this.codigo_ibge = codigo_ibge;
}
public Long getIdcidades() {
return idcidades;
}
public void setIdcidades(Long idcidades) {
this.idcidades = idcidades;
}
public String getNome_cidade() {
return nome_cidade;
}
public void setNome_cidade(String nome_cidade) {
this.nome_cidade = nome_cidade;
}
}[code]
depois eu tenho a minha classe CidadesController
[/code]
import cidades.CidadesDAO;
import cidades.Cidades;
import javax.swing.*;
import java.sql.Date;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;
public class CidadesController {
/private Date formatarData(String data) throws ParseException {
DateFormat formatter = new SimpleDateFormat(“dd/MM/yyyy”);
return new Date( formatter.parse(data).getTime() );
}/
public void salvar(String nome_cidade, String UF_cidade, int CEP_cidade, int codigo_ibge) throws SQLException, ParseException {
Cidades cidades = new Cidades();
cidades.setNome_cidade(nome_cidade);
cidades.setUF_cidade(UF_cidade);
cidades.setCEP_cidade(CEP_cidade);
cidades.setCodigo_ibge(codigo_ibge);
new CidadesDAO().salvar(cidades);
}
public void alterar(long idcidades, String nome_cidade, String UF_cidade, int CEP_cidade, int codigo_ibge) throws ParseException, SQLException {
Cidades cidades = new Cidades();
cidades.setIdcidades(idcidades);
cidades.setNome_cidade(nome_cidade);
cidades.setUF_cidade(UF_cidade);
cidades.setCEP_cidade(CEP_cidade);
cidades.setCodigo_ibge(codigo_ibge);
new CidadesDAO().alterar(cidades);
}
public List listaCidades() {
CidadesDAO dao = new CidadesDAO();
try {
return dao.findCidades();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, “Problemas ao localizar contato\n” + e.getLocalizedMessage());
}
return null;
}
public void excluir(long idcidades) throws SQLException {
new CidadesDAO().excluir(idcidades);
}
public Cidades buscaCidadesPorNome(String nome_cidade) throws SQLException {
CidadesDAO dao = new CidadesDAO();
return dao.findByName(nome_cidade);
}
}[code]
e por fim tenho a minha classe CidadesDAO
[/code]
import Conexao.GenericDao;
import cidades.Cidades;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class CidadesDAO extends GenericDao {
public void salvar(Cidades cidades) throws SQLException {
String insert = “INSERT INTO cidades(nome_cidade,UF_cidade,CEP_cidade,codigo_ibge) VALUES(?,?,?,?)”;
save(insert, cidades.getNome_cidade(), cidades.getUF_cidade(), cidades.getCEP_cidade(), cidades.getCodigo_ibge());
}
public void alterar(Cidades cidades) throws SQLException {
String update = "UPDATE cidades " +
"SET nome_cidade = ?, UF_cidade = ?, CEP_cidade = ?,codigo_ibge = ? " +
“WHERE idcidades = ?”;
update(update, cidades.getIdcidades(), cidades.getNome_cidade(), cidades.getUF_cidade(), cidades.getCEP_cidade(), cidades.getCodigo_ibge());
}
public void excluir(long idcidades) throws SQLException {
String delete = “DELETE FROM cidades WHERE idcidades = ?”;
delete(delete, idcidades);
}
public List findCidades() throws SQLException {
List cidade = new ArrayList();
String select = “SELECT * FROM cidades”;
PreparedStatement stmt = getConnection().prepareStatement(select);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
Cidades cidades = new Cidades();
cidades.setIdcidades(rs.getLong(“id_cidades”));
cidades.setNome_cidade(rs.getString(“nome_cidade”));
cidades.setUF_cidade(rs.getString(“UF_cidade”));
cidades.setCEP_cidade(rs.getInt(“CEP_cidade”));
cidades.setCodigo_ibge(rs.getInt(“codigo_ibge”));
cidade.add(cidades);
}
rs.close();
stmt.close();
return cidade;
}
public Cidades findByName(String nome_cidade) throws SQLException {
String select = “SELECT * FROM cidades WHERE nome_cidade = ?”;
Cidades cidades = null;
PreparedStatement stmt = getConnection().prepareStatement(select);
stmt.setString(1, nome_cidade);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
cidades = new Cidades();
cidades.setIdcidades(rs.getLong(“idcidades”));
cidades.setNome_cidade(rs.getString(“nome_cidade”));
cidades.setUF_cidade(rs.getString(“UF_cidade”));
cidades.setCEP_cidade(rs.getInt(“CEP_cidades”));
cidades.setCodigo_ibge(rs.getInt(“codigo_ibge”));
}
rs.close();
stmt.close();
return cidades;
}
}[code]
ate aqui eu consegui fazer e acredito que esteja certo, a minha duvida é como eu faço agora para com a JFrame
por que agora eu tenho que aplicar meus métodos nos ActionPerformeds que eu criei
tipo AlterarActionPerformed, ExcluirActionPerformed, GravarActionPerformed e ConsultarActionPerformed
por que os tutorias que eu vi so mostra ate esta parte e ai eu estou confuso, se alguem tiver um tutorial, apostila ou
um exemplo para eu ter ideia desde ja sou muito grato.
fico aguardando
muito obrigado