Comandos DML não funciona na classe java

Bom dia pessoal, estou criando um sistema em java onde esta acontecendo algum problema, uma das minhas classes DAO(emprestimoDAO) parou de funcionar, ao tentar fazer um insert, update, delete, ele passa como se o codigo tivesse rodado normal, porem não dá nenhum erro e não entra em nenhuma das exceções que criei

Como o codigo esta muito extenso, vou deixar aqui apenas a classe do DAO

Projeto no github:

emprestimoDAO.java:

package model.DAO;

import java.sql.Connection;
import model.Emprestimo;
import java.sql.PreparedStatement;
import javax.swing.JOptionPane;
import java.sql.SQLException;
import java.util.ArrayList;
import java.sql.ResultSet;
import model.Equipamento;
import model.Nome;
import model.TipoEquipamento;
import model.Unidade;

public class EmprestimoDAO
{
    
    private final Connection conexao;
    
    //metodo construtor
    public EmprestimoDAO(Connection conexao)
    {
        
        this.conexao = conexao;
        
    }   

    //função para inserir(insert) 
    public void inserir(Emprestimo emprestimo, Equipamento equip, String equipamentoU) throws SQLException
    { 
        
        //pega o modelo do objeto emprestimo do tipo emprestimo e joga dentro da variavel
        equipamentoU = emprestimo.modelo;           
        
        //Faz a instância da classe equipamento 
        String sql = "select * from emprestimo as e inner join unidade u on e.unidade = u.id inner join nome as n on e.nome = n.id inner join tipoequipamento as tipoequi on e.tipoequip = tipoequi.id inner join unidade udestino on e.destino = udestino.id where e.modelo = ?";
        //Instrução SQL para seleção de registro específico da tabela emprestimo;
        try {
            PreparedStatement pstm = conexao.prepareStatement(sql);

            pstm.setString(1, equipamentoU);

            ResultSet rs = pstm.executeQuery();
            while (rs.next()) {
            //Laço de repetição para preencher com os dados do banco o objeto emprestimo;
            emprestimo.setId(rs.getInt("id"));
                
            Unidade unidade1 = new Unidade();
            unidade1.setId(rs.getInt("id"));
            unidade1.setUnidadenome(rs.getString("unidadenome"));
            
            emprestimo.setUnidade(unidade1); 
            
            TipoEquipamento tipoequipamento = new TipoEquipamento();
            tipoequipamento.setId(rs.getInt("id"));
            tipoequipamento.setTipoequipamento(rs.getString("tipoequipamentonome"));
            
            emprestimo.setTipoequip(tipoequipamento);
            
            emprestimo.setModelo(rs.getString("modelo"));
            
            Unidade destino = new Unidade();
            destino.setId(rs.getInt("id"));
            destino.setUnidadenome(rs.getString("unidadenome"));
            
            emprestimo.setDestino(destino);
            
            Nome nome = new Nome();
            nome.setId(rs.getInt("id"));
            nome.setNomepessoa(rs.getString("nomepessoa"));
            
            emprestimo.setNome(nome);
            
            emprestimo.setDataSaida(rs.getDate("dataSaida"));
            
            emprestimo.setDataDevolucao(rs.getDate("dataDevolucao"));
            
            emprestimo.setStatus(rs.getString("status"));
            
            emprestimo.setTipo(rs.getString("tipo"));
            
            emprestimo.setObservacao(rs.getString("observacao"));
            
            emprestimo.setTombo(rs.getString("tombo"));
            
            emprestimo.setSerie(rs.getString("serie"));  

                //se modelo for igual ao valor da variavel equipamentoU e Stats for igual a EMPRESTADO mostre equipamento já emprestado
                if (rs.getString("modelo").equalsIgnoreCase(equipamentoU) && rs.getString("status").equalsIgnoreCase("EMPRESTADO")) {

                    String sql2 = "insert into emprestimo(unidade,tipoequip,modelo,destino,nome,dataSaida,dataDevolucao,status,tipo,observacao,tombo,serie)values (?,?,?,?,?,?,?,?,?,?,?,?)";

                    String sql3 = "update equipamento set status = 'INDISPONIVEL' where id = ?";     
                    
                    //criamos um statement para executar a query sql
                    PreparedStatement pstm3 = conexao.prepareStatement(sql2);
        
                    PreparedStatement pstm4 = conexao.prepareStatement(sql3);      
                    
                    try
                    {
            
                        //antes de executar pstm setString
                        pstm3.setInt(1, emprestimo.getUnidade().getId());
                        pstm3.setInt(2, emprestimo.getTipoequip().getId());
                        pstm3.setString(3, emprestimo.getModelo());
                        pstm3.setInt(4, emprestimo.getDestino().getId());
                        pstm3.setInt(5, emprestimo.getNome().getId());
                        pstm3.setDate(6, new java.sql.Date(emprestimo.getDataSaida().getTime()));
                        pstm3.setDate(7, new java.sql.Date(emprestimo.getDataDevolucao().getTime()));
                        pstm3.setString(8, emprestimo.getStatus());			
                        pstm3.setString(9, emprestimo.getTipo());
                        pstm3.setString(10, emprestimo.getObservacao());
                        pstm3.setString(11, emprestimo.getTombo());
                        pstm3.setString(12, emprestimo.getSerie());
            
                        try
                        {
                
                            //antes de executar pstm setString 
                            pstm4.setInt(1, equip.getId());               
            
                            pstm4.execute();                 
                
                        }
                        catch(SQLException ex)
                        {
                
                            JOptionPane.showMessageDialog(null, "Error ao atualizar equipamento antes de inserir emprestimo:"+ex);
                
                        }
                        finally
                        {
                
                            //feche a conexao e o pstm     
                            pstm4.close();
                
                        }    
        
                        //execute o pstm
                        pstm3.execute();      
            
        }    
        catch(SQLException ex)
        {
            
            JOptionPane.showMessageDialog(null, "Error ao inserir emprestimo no banco de dados!" + ex,"Error!", JOptionPane.INFORMATION_MESSAGE); 
            
        }
        finally
        {
            
            //feche a conexao e o pstm    
            conexao.close();  
            pstm.close();    
            
        }                       
                    
                }
                else if(rs.getString("modelo").equalsIgnoreCase(equipamentoU) && rs.getString("status").equalsIgnoreCase("DISPONIVEL"))
                {// se modelo for igual ao valor da variavel equipamentoU ou Stats for igual a DISPONIVEL

                    String sql1 = "update emprestimo set status = 'EMPRESTADO' where id = ?";

                     //criamos um statement para executar a query sql
                    PreparedStatement pstm2 = conexao.prepareStatement(sql1);        
                    
                    try
                    {
                
                        //antes de executar pstm setString 
                        pstm2.setInt(1, equip.getId());               
            
                        pstm2.execute();                    
                
                    }
                    catch(SQLException ex)
                    {
                
                        JOptionPane.showMessageDialog(null, "Error ao atualizar equipamento antes de inserir emprestimo:"+ex);
                
                    }
                    finally
                    {
                
                        //feche a conexao e o pstm     
                        pstm2.close();
                
                    }                        
                    
                }     

            }
        } catch (SQLException ex) {

            JOptionPane.showMessageDialog(null, "Error ao pesquisar todos emprestimos no banco de dados!" + ex, "Error!", JOptionPane.INFORMATION_MESSAGE);

        } finally {
            //feche a conexao
            conexao.close();

        }
        
    } 
    
    //função para atualizar(update)
    public void atualizar(Emprestimo emprestimo) throws SQLException
    {
        
        String sql = "update emprestimo set unidade = ?, tipoequip = ?, destino = ?, nome = ?, dataSaida = ?,"
        + "dataDevolucao = ?, status = ?, tipo = ?, observacao = ?, tombo = ?, serie = ? where id = ?";
        
        //criamos um statement para executar a query sql
        PreparedStatement pstm = conexao.prepareStatement(sql);
        
            try
            {
                
            //antes de executar pstm setString
            pstm.setInt(1, emprestimo.getUnidade().getId());
            pstm.setInt(2, emprestimo.getTipoequip().getId());
            pstm.setString(3, emprestimo.getModelo());
            pstm.setInt(4, emprestimo.getDestino().getId());
            pstm.setInt(5, emprestimo.getNome().getId());
            pstm.setDate(6, new java.sql.Date(emprestimo.getDataSaida().getTime()));
            pstm.setDate(7, new java.sql.Date(emprestimo.getDataDevolucao().getTime()));
            pstm.setString(8, emprestimo.getStatus());
            pstm.setString(9, emprestimo.getTipo());
            pstm.setString(10, emprestimo.getObservacao());
            pstm.setString(11, emprestimo.getTombo());
            pstm.setString(12, emprestimo.getSerie());
                
                pstm.execute();    
                
            }
            catch (SQLException ex)
            {
                
                JOptionPane.showMessageDialog(null, "Error ao atualizar emprestimo no banco de dados!" + ex,"Error!", JOptionPane.INFORMATION_MESSAGE);
                
            }
            finally
            {
                
                //feche a conexao e o pstm 
                conexao.close();
                pstm.close();                 
                
            }               
        
    }    
    
    public void devolverEmprestimo(Emprestimo empre, Equipamento equip) throws SQLException
    {
        
        String sql = "update emprestimo set status = 'DISPONIVEL' where id = ?";
        
        //criamos um statement para executar a query sql
        PreparedStatement pstm = conexao.prepareStatement(sql);
        
        try
        {
            
            //antes de executar pstm setString
            pstm.setInt(1, empre.getId());

            pstm.executeUpdate();
            
            String sql2 = "update equipamento set status = 'DISPONIVEL' where id = ?";      
            
            PreparedStatement pstm2 = conexao.prepareStatement(sql2);
            
            try
            {
                
                //antes de executar pstm setString 
                pstm2.setInt(1, equip.getId());   
            
                pstm2.execute();                 
                
            }
            catch(SQLException ex)
            {
                
                JOptionPane.showMessageDialog(null, "Error ao atualizar equipamento antes de devolver emprestimo:"+ex);
                
            }
            finally
            {
                
                //feche a conexao e o pstm     
                pstm2.close();
                
            }   
            
        }    
        catch(SQLException ex)
        {
            
            JOptionPane.showMessageDialog(null, "Error ao devolver emprestimo no banco de dados!" + ex,"Error!", JOptionPane.INFORMATION_MESSAGE); 
            
        }
        finally
        {
            
            //feche a conexao e o pstm    
            conexao.close();  
            pstm.close();    
            
        }         
    
    }    
    
    //metodo para trazer todos emprestimos do banco de dados
    public ArrayList<Emprestimo> selecioneAllEmprestimos() throws SQLException
    {
        
        String sql ="select * from emprestimo as e inner join unidade u on e.unidade = u.id inner join nome as n on e.nome = n.id inner join tipoequipamento as tipoequi on e.tipoequip = tipoequi.id inner join unidade udestino on e.destino = udestino.id";
        
        ArrayList<Emprestimo> emprestimos = new ArrayList<>();
     
        try
        {
         
            PreparedStatement pstm = conexao.prepareStatement(sql);
         
            ResultSet rs = pstm.executeQuery();
         
            while(rs.next())
            {
            
            Emprestimo emprestimo = new Emprestimo();
            //Laço de repetição para preencher com os dados do banco o objeto emprestimo;
            emprestimo.setId(rs.getInt("id"));
                
            Unidade unidade1 = new Unidade();
            unidade1.setId(rs.getInt("id"));
            unidade1.setUnidadenome(rs.getString("unidadenome"));
            
            emprestimo.setUnidade(unidade1); 
            
            TipoEquipamento tipoequipamento = new TipoEquipamento();
            tipoequipamento.setId(rs.getInt("id"));
            tipoequipamento.setTipoequipamento(rs.getString("tipoequipamentonome"));
            
            emprestimo.setTipoequip(tipoequipamento);
            
            emprestimo.setModelo(rs.getString("modelo"));
            
            Unidade destino = new Unidade();
            destino.setId(rs.getInt("id"));
            destino.setUnidadenome(rs.getString("unidadenome"));
            
            emprestimo.setDestino(destino);
            
            Nome nome = new Nome();
            nome.setId(rs.getInt("id"));
            nome.setNomepessoa(rs.getString("nomepessoa"));
            
            emprestimo.setNome(nome);
            
            emprestimo.setDataSaida(rs.getDate("dataSaida"));
            
            emprestimo.setDataDevolucao(rs.getDate("dataDevolucao"));
            
            emprestimo.setStatus(rs.getString("status"));
            
            emprestimo.setTipo(rs.getString("tipo"));
            
            emprestimo.setObservacao(rs.getString("observacao"));
            
            emprestimo.setTombo(rs.getString("tombo"));
            
            emprestimo.setSerie(rs.getString("serie"));
            
            emprestimos.add(emprestimo);   
             
            }    
         
        }
        catch(SQLException ex)
        {
         
            JOptionPane.showMessageDialog(null, "Error ao pesquisar todos emprestimos do banco de dados!" +ex,"Error!", JOptionPane.INFORMATION_MESSAGE);
         
        }
        finally
        {//feche a conexao
            conexao.close();    
        }       
  
        //retorne o array emprestimos
    return emprestimos;             
        
    }        
    
    //metodo para trazer todos emprestimos do banco de dados
    public ArrayList<Emprestimo> selecioneAllEmprestimosEmprestado() throws SQLException
    {
        
        String sql ="select * from emprestimo as e inner join unidade u on e.unidade = u.id inner join nome as n on e.nome = n.id inner join tipoequipamento as tipoequi on e.tipoequip = tipoequi.id inner join unidade udestino on e.destino = udestino.id where e.status = 'EMPRESTADO'";
        
        ArrayList<Emprestimo> emprestimos = new ArrayList<>();
     
        try
        {
         
            PreparedStatement pstm = conexao.prepareStatement(sql);
         
            ResultSet rs = pstm.executeQuery();
         
            while(rs.next())
            {
            
            Emprestimo emprestimo = new Emprestimo();
            //Laço de repetição para preencher com os dados do banco o objeto emprestimo;
            emprestimo.setId(rs.getInt("id"));
                
            Unidade unidade1 = new Unidade();
            unidade1.setId(rs.getInt("id"));
            unidade1.setUnidadenome(rs.getString("unidadenome"));
            
            emprestimo.setUnidade(unidade1); 
            
            TipoEquipamento tipoequipamento = new TipoEquipamento();
            tipoequipamento.setId(rs.getInt("id"));
            tipoequipamento.setTipoequipamento(rs.getString("tipoequipamentonome"));
            
            emprestimo.setTipoequip(tipoequipamento);
            
            emprestimo.setModelo(rs.getString("modelo"));
            
            Unidade destino = new Unidade();
            destino.setId(rs.getInt("id"));
            destino.setUnidadenome(rs.getString("unidadenome"));
            
            emprestimo.setDestino(destino);
            
            Nome nome = new Nome();
            nome.setId(rs.getInt("id"));
            nome.setNomepessoa(rs.getString("nomepessoa"));
            
            emprestimo.setNome(nome);
            
            emprestimo.setDataSaida(rs.getDate("dataSaida"));
            
            emprestimo.setDataDevolucao(rs.getDate("dataDevolucao"));
            
            emprestimo.setStatus(rs.getString("status"));
            
            emprestimo.setTipo(rs.getString("tipo"));
            
            emprestimo.setObservacao(rs.getString("observacao"));
            
            emprestimo.setTombo(rs.getString("tombo"));
            
            emprestimo.setSerie(rs.getString("serie"));
            
            emprestimos.add(emprestimo);   
             
            }    
         
        }
        catch(SQLException ex)
        {
         
            JOptionPane.showMessageDialog(null, "Error ao pesquisar todos emprestimos do banco de dados!" +ex,"Error!", JOptionPane.INFORMATION_MESSAGE);
         
        }
        finally
        {//feche a conexao
            conexao.close();    
        }       
  
        //retorne o array emprestimos
    return emprestimos;             
        
    }            

    //metodo para selecionar equipamento emprestimo
    public boolean selecionaEquipEmprestimo(String equipamentoU) throws SQLException {
        ArrayList emprestimos = new ArrayList();
        //Faz a instância da classe equipamento 
        String sql = "select * from emprestimo as e inner join unidade u on e.unidade = u.id inner join nome as n on e.nome = n.id inner join tipoequipamento as tipoequi on e.tipoequip = tipoequi.id inner join unidade udestino on e.destino = udestino.id where e.modelo = ? and e.status = 'EMPRESTADO'";
        //Instrução SQL para seleção de registro específico da tabela equipamento;
        try {
            PreparedStatement pstm = conexao.prepareStatement(sql);

            pstm.setString(1, equipamentoU);

            ResultSet rs = pstm.executeQuery();
            while (rs.next()) {
            Emprestimo emprestimo = new Emprestimo();
            //Laço de repetição para preencher com os dados do banco o objeto emprestimo;
            emprestimo.setId(rs.getInt("id"));
                
            Unidade unidade1 = new Unidade();
            unidade1.setId(rs.getInt("id"));
            unidade1.setUnidadenome(rs.getString("unidadenome"));
            
            emprestimo.setUnidade(unidade1); 
            
            TipoEquipamento tipoequipamento = new TipoEquipamento();
            tipoequipamento.setId(rs.getInt("id"));
            tipoequipamento.setTipoequipamento(rs.getString("tipoequipamentonome"));
            
            emprestimo.setTipoequip(tipoequipamento);
            
            emprestimo.setModelo(rs.getString("modelo"));
            
            String model = rs.getString("modelo");
            
            Unidade destino = new Unidade();
            destino.setId(rs.getInt("id"));
            destino.setUnidadenome(rs.getString("unidadenome"));
            
            emprestimo.setDestino(destino);
            
            Nome nome = new Nome();
            nome.setId(rs.getInt("id"));
            nome.setNomepessoa(rs.getString("nomepessoa"));
            
            emprestimo.setNome(nome);
            
            emprestimo.setDataSaida(rs.getDate("dataSaida"));
            
            emprestimo.setDataDevolucao(rs.getDate("dataDevolucao"));
            
            emprestimo.setStatus(rs.getString("status"));
            
            //variavel Stats recebe a coluna status do banco de dados
            String Stats = rs.getString("status");
            
            emprestimo.setTipo(rs.getString("tipo"));
            
            emprestimo.setObservacao(rs.getString("observacao"));
            
            emprestimo.setTombo(rs.getString("tombo"));
            
            emprestimo.setSerie(rs.getString("serie"));
            
            emprestimos.add(emprestimo);   

                //se modelo for igual ao valor da variavel equipamentoU ou Stats for igual a EMPRESTADO retorne true
                if (model.equalsIgnoreCase(equipamentoU) && Stats.equalsIgnoreCase("EMPRESTADO")) {

                    return true;

                } else if(model.equalsIgnoreCase(equipamentoU) && Stats.equalsIgnoreCase("DISPONIVEL")) {// se modelo for igual ao valor da variavel equipamentoU ou Stats for igual a DISPONIVEL retorne falso

                    return false;

                }

            }
        } catch (SQLException ex) {

            JOptionPane.showMessageDialog(null, "Error ao pesquisar todos emprestimos no banco de dados!" + ex, "Error!", JOptionPane.INFORMATION_MESSAGE);

        } finally {
            //feche a conexao
            conexao.close();

        }

        return false;
    }
    
    //metodo para selecionar equipamento emprestimo emprestado
    public boolean selecionaEquipEmprestimoEmprestado(String equipamentoU) throws SQLException {
        ArrayList emprestimos = new ArrayList();
        //Faz a instância da classe equipamento 
        String sql = "select * from emprestimo as e inner join unidade u on e.unidade = u.id inner join nome as n on e.nome = n.id inner join tipoequipamento as tipoequi on e.tipoequip = tipoequi.id inner join unidade udestino on e.destino = udestino.id where e.modelo = ? and e.status = 'EMPRESTADO'";
        //Instrução SQL para seleção de registro específico da tabela equipamento;
        try {
            PreparedStatement pstm = conexao.prepareStatement(sql);

            pstm.setString(1, equipamentoU);

            ResultSet rs = pstm.executeQuery();
            while (rs.next()) {
            Emprestimo emprestimo = new Emprestimo();
            //Laço de repetição para preencher com os dados do banco o objeto emprestimo;
            emprestimo.setId(rs.getInt("id"));
                
            Unidade unidade1 = new Unidade();
            unidade1.setId(rs.getInt("id"));
            unidade1.setUnidadenome(rs.getString("unidadenome"));
            
            emprestimo.setUnidade(unidade1); 
            
            TipoEquipamento tipoequipamento = new TipoEquipamento();
            tipoequipamento.setId(rs.getInt("id"));
            tipoequipamento.setTipoequipamento(rs.getString("tipoequipamentonome"));
            
            emprestimo.setTipoequip(tipoequipamento);
            
            emprestimo.setModelo(rs.getString("modelo"));
            
            String model = rs.getString("modelo");
            
            Unidade destino = new Unidade();
            destino.setId(rs.getInt("id"));
            destino.setUnidadenome(rs.getString("unidadenome"));
            
            emprestimo.setDestino(destino);
            
            Nome nome = new Nome();
            nome.setId(rs.getInt("id"));
            nome.setNomepessoa(rs.getString("nomepessoa"));
            
            emprestimo.setNome(nome);
            
            emprestimo.setDataSaida(rs.getDate("dataSaida"));
            
            emprestimo.setDataDevolucao(rs.getDate("dataDevolucao"));
            
            emprestimo.setStatus(rs.getString("status"));
            
            //variavel Stats recebe a coluna status do banco de dados
            String Stats = rs.getString("status");
            
            emprestimo.setTipo(rs.getString("tipo"));
            
            emprestimo.setObservacao(rs.getString("observacao"));
            
            emprestimo.setTombo(rs.getString("tombo"));
            
            emprestimo.setSerie(rs.getString("serie"));
            
            emprestimos.add(emprestimo);   

                //se modelo for igual ao valor da variavel equipamentoU ou Stats for igual a emprestado retorne true
                if (model.equalsIgnoreCase(equipamentoU) && Stats.equalsIgnoreCase("EMPRESTADO")) {

                    return true;

                } else {// se não retorne falso

                    return false;

                }

            }
        } catch (SQLException ex) {

            JOptionPane.showMessageDialog(null, "Error ao pesquisar todos emprestimos no banco de dados!" + ex, "Error!", JOptionPane.INFORMATION_MESSAGE);

        } finally {
            //feche a conexao
            conexao.close();

        }

        return false;
    }    
    
    public Emprestimo selecioneEmprestimoModelo(String equipamentoU) throws SQLException
    {
        
        String sql ="select * from emprestimo as e inner join unidade u on e.unidade = u.id inner join nome as n on e.nome = n.id inner join tipoequipamento as tipoequi on e.tipoequip = tipoequi.id inner join unidade udestino on e.destino = udestino.id where e.modelo = ?";
     
        Emprestimo emprestimo = new Emprestimo();
        
        try
        {
         
            PreparedStatement pstm = conexao.prepareStatement(sql);
         
            pstm.setString(1, equipamentoU);
            
            ResultSet rs = pstm.executeQuery();
         
            while(rs.next())
            {
            
            //Laço de repetição para preencher com os dados do banco o objeto emprestimo;
            emprestimo.setId(rs.getInt("id"));
                
            Unidade unidade1 = new Unidade();
            unidade1.setId(rs.getInt("id"));
            unidade1.setUnidadenome(rs.getString("unidadenome"));
            
            emprestimo.setUnidade(unidade1); 
            
            TipoEquipamento tipoequipamento = new TipoEquipamento();
            tipoequipamento.setId(rs.getInt("id"));
            tipoequipamento.setTipoequipamento(rs.getString("tipoequipamentonome"));
            
            emprestimo.setTipoequip(tipoequipamento);
            
            emprestimo.setModelo(rs.getString("modelo"));
            
            Unidade destino = new Unidade();
            destino.setId(rs.getInt("id"));
            destino.setUnidadenome(rs.getString("unidadenome"));
            
            emprestimo.setDestino(destino);
            
            Nome nome = new Nome();
            nome.setId(rs.getInt("id"));
            nome.setNomepessoa(rs.getString("nomepessoa"));
            
            emprestimo.setNome(nome);
            
            emprestimo.setDataSaida(rs.getDate("dataSaida"));
            
            emprestimo.setDataDevolucao(rs.getDate("dataDevolucao"));
            
            emprestimo.setStatus(rs.getString("status"));
            
            emprestimo.setTipo(rs.getString("tipo"));
            
            emprestimo.setObservacao(rs.getString("observacao"));
            
            emprestimo.setTombo(rs.getString("tombo"));
            
            emprestimo.setSerie(rs.getString("serie"));
             
            }    
         
        }
        catch(SQLException ex)
        {
         
            JOptionPane.showMessageDialog(null, "Error ao pesquisar todos emprestimos por modelo do banco de dados!" +ex,"Error!", JOptionPane.INFORMATION_MESSAGE);
         
        }
        finally
        {//feche a conexao
            conexao.close();    
        }             
        
        return emprestimo;
        
    }        
}

Não achei no código, mas talvez o autocommit não esteja habilitado (ele é habilitado por padrão, mas talvez vc tenha desabilitado em algum lugar), o que faz necessário abrir uma transação manualmente para interagir com o banco.

Agora o seu código está bem confuso com vários try...catch um dentro de outro. Tente colocar uns ex.printStackTrace() em todos os catchs da classe EmprestimoDAO e veja se aparece algo no console ao executar a ação.

Só um detalhe, insert, update, delete não são DDL mas sim DML. Comandos DDL são os que alteram a estrutura da BD, como create, alter, …

Como tens a certeza disso? O teu código não tem nenhuma instrução de log que te permite ir acompanhando o que está a acontecer a ajudar a entender onde estão os problemas.
Essa classe EmprestimoDAO pode nem nunca ser executada e o erro estar antes…

2 curtidas

Alguma solução?

Deste-te ao trabalho de ler sequer as respostas?

O @Lucas_Camara falou no autocommit que pode estar desabilitado e tu nao estas a fazer commit explicito.
Eu mesmo referi que deves adicionar log para teres a certeza que está a passar nesse código e que o problema não poderá estar noutro lado do código.

Não respondeste a nada disto e ainda esperas que alguém tenha uma bola de cristal para te dar a solução?

3 curtidas

Eu já tentei praticamente de tudo, reinstalei o ambiente de desenvolvimento no servidor, atualizei os programas necessarios
o problema é que eu não tenho nenhuma resposta sobre a querry, nem um eror, até mesmo debugando, o estranho é que as outras querrys fora a do emprestimo tudo funciona normalmente
irei tentar ver o log do mysql no xampp

Tente substituir nos catchs os SQLException por apenas Exception para ver se não está ocorrendo alguma outra exceção que não esteja sendo capturada.

Unico erro que encontrei no log do mysql: Aborted connection 1101 to db: ‘semurrbd’ user: ‘Semur’ host: ‘’ (Got an error reading communication packets)