Mysql
 sql >> Database >  >> RDS >> Mysql

java.sql.SQLException:la connessione è chiusa [POOL-HikariCP]

La struttura del tuo codice non mi è chiara. Ma non penso che tu voglia allocare una connessione in initComponents() . Dovresti ottenere una connessione quando devi eseguire una query, quindi chiuderla per restituirla al pool.

Qualcosa come...

public int validateLogin(String nip) {
   int validation=0;
   String SQL="SELECT * FROM bank.account WHERE No_Account='"+account+"'   
    AND NIP='"+nip+"'";
    try (Connection conn = SQL.getConnection();
         Statement stm = conn.createStatement()) {
       ResultSet rs = stm.executeQuery(SQL);
       ...
    }
    catch (SQLException e) {
       ...
    }

Il "prova con le risorse" chiuderà automaticamente la connessione e la dichiarazione.

E dove SQL.getConnection() fa qualcosa del tipo:

public Connection getConnection() throws SQLException {
   return Hikari.getConnection();
}