Olá, boa noite
Sou iniciante em Java e estou tendo dificuldades com Jtable. Por orientação estou utilizando a Default model. O botão deveria chamar o método TESTE e listar todos os registros que estão no banco, mas está trazendo apenas um registro (e de forma repetida) já verifiquei o código com orientações que encontrei em fóruns mas não estou conseguindo encontrar o erro.
Conseguem me ajudar por favor?
MODEL:
public class Recebimento {
private static int numero_recebimento;
private static float valor_recebimento;
private static String data_recebimento;
private static String meio_recebimento;
private static int presenca_recebimento;
private static String pac_recebimento;
private static String prof_recebimento;
private static int ID_recpaciente;
private static int ID_recprofissional;
private static int ID_recebimento;
public static int getNumero_recebimento(){
return numero_recebimento;
}
public void setNumero_recebimento(int numero_recebimento){
this.numero_recebimento = numero_recebimento;
}
public static float getValor_recebimento(){
return valor_recebimento;
}
public void setValor_recebimento(float valor_recebimento){
this.valor_recebimento = valor_recebimento;
}
public static String getData_recebimento(){
return data_recebimento;
}
public void setData_recebimento(String data_recebimento){
this.data_recebimento = data_recebimento;
}
public static String getMeio_recebimento(){
return meio_recebimento;
}
public void setMeio_recebimento(String meio_recebimento){
this.meio_recebimento = meio_recebimento;
}
public static int getPresenca_recebimento(){
return presenca_recebimento;
}
public void setPresenca_recebimento(int presenca_recebimento){
this.presenca_recebimento = presenca_recebimento;
}
public String getPac_recebimento(){
return pac_recebimento;
}
public void setPac_recebimento(String pac_recebimento){
this.pac_recebimento = pac_recebimento;
}
public String getProf_recebimento(){
return prof_recebimento;
}
public void setProf_recebimento(String prof_recebimento){
this.prof_recebimento = prof_recebimento;
}
public static int getID_recpaciente() {
return ID_recpaciente;
}
public void setID_recpaciente(int ID_recpaciente) {
this.ID_recpaciente = ID_recpaciente;
}
public static int getID_recprofissional() {
return ID_recprofissional;
}
public void setID_recprofissional(int ID_recprofissional) {
this.ID_recprofissional = ID_recprofissional;
}
public static int getID_recebimento() {
return ID_recebimento;
}
public void setID_recebimento(int ID_recebimento) {
this.ID_recebimento = ID_recebimento;
}
@Override
public String toString(){
return "numero " + this.numero_recebimento +
"valor " + this. valor_recebimento +
"data " + this. data_recebimento+
"meio " + this. meio_recebimento+
"pres " + this.presenca_recebimento+
"IDPAC " +this.ID_recpaciente+
"IDPROF " +this.ID_recprofissional +
"IDREC " +this.ID_recebimento;
} }
RECEBIMENTO.DAO - MÉTODO DE LISTAR
public class RecebimentoDAO {
private Connection conn;
private PreparedStatement prep = null;
private Statement sta;
private ResultSet result;
private List<Recebimento> listarec = new ArrayList<>();
private List<Recebimento> novafinal = new ArrayList<Recebimento>();
private List<Recebimento> listateste = new ArrayList();
public RecebimentoDAO(){ //metodo pra conexão
conn = new Conexao().getConexao(); //recebe a classe conexão e dentro dela tem o metodo get conexao, chama o método e faz por la
}
public List<Recebimento> TESTE(){
try{
String sql = "SELECT * FROM TabRecebimento";
sta = conn.createStatement();
result = sta.executeQuery(sql);
while(result.next()){
Recebimento rec = new Recebimento();
rec.setID_recebimento(result.getInt("trID"));
rec.setNumero_recebimento(result.getInt("trNum")); //(nome da coluna do banco)
rec.setValor_recebimento(result.getFloat("trValor"));
rec.setData_recebimento((result.getString("trData")));
rec.setMeio_recebimento(result.getString("trMeio"));
rec.setPresenca_recebimento(result.getInt("trPresenca"));
rec.setID_recpaciente(result.getInt("trtpaID"));
rec.setID_recprofissional(result.getInt("trtprID"));
listateste.add(rec);
} return listateste;
}catch (SQLException ex){
throw new RuntimeException ("Erro - Listar todos os recebimentos"+ex);
} }}
VIEW:
public class Relatorio extends javax.swing.JInternalFrame {
RecebimentoDAO recDAO = new RecebimentoDAO();
Recebimento recmodel = new Recebimento();
public void listar(){
List<Recebimento> listateste = recDAO.TESTE();
//tabela é obj que recebe todos os dados que vão para a tabela
DefaultTableModel modelo = (DefaultTableModel) relat_tabela.getModel(); //converte para default
modelo.getRowCount(); //garantir que terá 0 linhas
//cria objeto que vai percorrer a lista e para cada linha que encontrar vai criar um objeto
for(Recebimento rec: listateste){//percorre lista e armazena no objeto
modelo.addRow(new Object[]{ //valores que vem no BD carregados dentro do obj
rec.getID_recebimento(),
rec.getNumero_recebimento(),
rec.getValor_recebimento(),
rec.getData_recebimento(),
rec.getMeio_recebimento(),
rec.getPresenca_recebimento(),
rec.getID_recpaciente(),
rec.getID_recprofissional(),
});
}
}
REGISTROS BD x JTABLE