Ogni volta che provo ad interrogare il database mi appare l'errore too many connection. Questo mi sembra di aver capito che è legato alle troppe connessioni aperte. Ho cercato di risolvere così ma non funziona ma non sono riuscito. Posto il codice:


Classe connessione

codice:
public class Connessione {
    Connection con=null;
    
    public static Connection ConnessioneDB(){
        
        try{
            Class.forName("com.mysql.jdbc.Driver");
            Connection con=DriverManager.getConnection(
                    "jdbc:mysql://localhost/gestisci","root","cazzone80");
            return con;
        }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
            return null;
    }


Classe visualizzazione dati tabella database

codice:
 public ArrayList<MovRifiuti> Visualizza(String Query){
        ArrayList<MovRifiuti> elenco=new ArrayList();
        try{
        st= con.createStatement();
        rs = st.executeQuery(Query);
        while(rs.next()){
            Anno=rs.getInt(1);
            NumMovimento=rs.getInt(2);
            Peso=rs.getDouble(3);
            mc=rs.getDouble(4);
           NumFormulario=rs.getString(5);
           CodRifiuto=rs.getString(7);
           Prezzo=rs.getDouble(8);
           Imponibile=rs.getDouble(9);
           Imposta=rs.getDouble(10);
           ImportoTotale=rs.getDouble(11);
           CodCli=rs.getString(12);
           NumFattura=rs.getInt(13);
           Aliquota=rs.getInt(14);
           IndCantiere=rs.getString(15);
           ComCantiere=rs.getString(16);
           Cod=rs.getInt(17);
           DataFormulario=rs.getDate(18);
           Stampato=rs.getString(19);
           DataFattura=rs.getDate(6);
           
          
          
           
           elenco.add (new MovRifiuti(Anno,NumMovimento,Peso,mc,NumFormulario,DataFattura,CodRifiuto,Prezzo,Imponibile,Imposta,ImportoTotale,CodCli, 
           NumFattura, Aliquota, IndCantiere, ComCantiere, Cod, DataFormulario,Stampato));
           
            
        }
        }catch (Exception e){
            
            System.out.println(e+"sss");
            
        }finally{
            if (rs != null) try { rs.close(); } catch (SQLException logOrIgnore) {}
            if (st != null) try { st.close(); } catch (SQLException logOrIgnore) {}
            if (con != null) try { con.close(); } catch (SQLException logOrIgnore) {}



        }
        
        return elenco;
  
    }