Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

java.sql.SQLException:A conexão está fechada [POOL-HikariCP]


A estrutura do seu código não é clara para mim. Mas não acho que você queira alocar uma conexão em initComponents() . Você deve obter uma conexão quando precisar executar uma consulta e, em seguida, fechá-la para retorná-la ao pool.

Algo como...
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) {
       ...
    }

O "experimentar com recursos" fechará a Conexão e a Declaração automaticamente.

E onde SQL.getConnection() faz algo como:
public Connection getConnection() throws SQLException {
   return Hikari.getConnection();
}