Fala Galera se puderem me ajudar segue minha dúvida:
Tenho uma tabela Status no banco MySql onde eu tenho dois campos “cod” e “Status”;
No projeto Java tenho a camada bean onde tenho a entidade (Classe) RdiStatus:
package br.com.rdi.bean;
public class RdiStatus {
int cod;
String Status;
//Método para exibir tudo que tem na classe
@Override
public String toString() {
return "RdiStatus{" + "cod=" + cod + ", Status=" + Status + '}';
}
//Construtor Vazio
public RdiStatus() {
}
//Contrutor que recebe parametros
public RdiStatus(int cod, String Status) {
this.cod = cod;
this.Status = Status;
}
//Get and Set
public int getCod() {
return cod;
}
public void setCod(int cod) {
this.cod = cod;
}
public String getStatus() {
return Status;
}
public void setStatus(String Status) {
this.Status = Status;
}
}
Tenho a camada dao onde possui a classe (RdiStatusDAO) responsável por todos os métodos:
package br.com.rdi.dao;
import br.com.rdi.bean.RdiStatus;
import br.com.rdi.db.ConnectionMySQL;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
public class RdiStatusDAO {
//Método Inserir um registro na tabela RdiStatus(Insert - "C"RUD)
public void inserir(RdiStatus rdi) throws SQLException {
String sql = "INSERT INTO rdiStatus (Status) VALUES (?)";
com.mysql.jdbc.Connection conn = ConnectionMySQL.getConnection();
try {
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setString(1, rdi.getStatus());
pstm.execute();
pstm.close();
JOptionPane.showMessageDialog(null, "Critério cadastrado!");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex);
}
}
//Metodo para Alterar dados de um registro da tabela RdiStatus (Update - CR"U"D)
public void alterar(RdiStatus rdi) throws SQLException {
String sql = "UPDATE rdiStatus SET Status=? WHERE cod=?";
com.mysql.jdbc.Connection conn = ConnectionMySQL.getConnection();
try {
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setString(1, rdi.getStatus());
pstm.setInt(2, rdi.getCod());
pstm.executeUpdate();
pstm.close();
JOptionPane.showMessageDialog(null, "Critério alterada com sucesso!");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex);
}
}
//Metodo para retornar todas os registros da tabela RdiStatus (Read - C"R"UD)
public List<RdiStatus> obterTabela() {
List<RdiStatus> listaRdiStatus = new ArrayList<>();
Connection conn = ConnectionMySQL.getConnection();
Statement stmt = null;
ResultSet rs = null;
String sql = "SELECT * FROM rdiStatus";
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
RdiStatus rdi = new RdiStatus();
rdi.setCod(rs.getInt("cod"));
rdi.setStatus(rs.getString("Status"));
listaRdiStatus.add(rdi);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
ConnectionMySQL.close((com.mysql.jdbc.Connection) conn, stmt, rs);
}
return listaRdiStatus;
}
//Metodo para retornar apenas um registro da tabela RdiStatus (Read - C"R"UD)
@SuppressWarnings("CallToThreadDumpStack")
public RdiStatus obterRdi(int id) {
RdiStatus rdi = new RdiStatus();
Connection conn = ConnectionMySQL.getConnection();
Statement stmt = null;
ResultSet rs = null;
String sql = "SELECT * FROM rdiStatus WHERE cod = " + id;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
rdi.setCod(rs.getInt("cod"));
rdi.setStatus(rs.getString("Status"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
ConnectionMySQL.close((com.mysql.jdbc.Connection) conn, stmt, rs);
}
return rdi;
}
//Metodo para Deletar um registro da tabela RdiStatus (Delete - CRU"D")
public boolean deletar(int id) {
boolean ret = false;
RdiStatus rdi = obterRdi(id);
if (rdi.getCod() > 0) {
Connection conn = ConnectionMySQL.getConnection();
Statement stmt = null;
String sql = "DELETE FROM rdiStatus WHERE cod = " + id;
try {
stmt = conn.createStatement();
stmt.executeUpdate(sql);
ret = true;
} catch (Exception e) {
e.printStackTrace();
} finally {
ConnectionMySQL.close((com.mysql.jdbc.Connection) conn, stmt);
}
}
return ret;
}
}
E por fim tenho minha camada view onde possui o formulário que contém os JtextField, Jtable e os JcomboBox.
Quero que meu JcomboBox busque os dados da tabela status.
Obs.: Meu JcomboBox é um componente da paleta Swing (Cliquei e arrastei pro formulário)
Ja pesquisei muito sobre, mas não encontrei nada que seja parecido com meu código (Camadas), galera me ajuda ai.
