Mysql
 sql >> Baza danych >  >> RDS >> Mysql

java.sql.SQLException:połączenie jest zamknięte [POOL-HikariCP]

Struktura twojego kodu jest dla mnie raczej niejasna. Ale nie sądzę, że chcesz alokować połączenie w initComponents() . Powinieneś uzyskać połączenie, gdy chcesz uruchomić zapytanie, a następnie zamknąć je, aby zwrócić je do puli.

Coś jak...

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

„Wypróbuj z zasobami” automatycznie zamknie połączenie i oświadczenie.

A gdzie SQL.getConnection() robi coś takiego:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wykonać kopię zapasową bazy danych MySQL w PHP?

  2. AndroidApp i MySqlConnection nie działały connection.open

  3. Jak wykonać wiele zapytań do SQL

  4. hibernacja natywnego błędu zapytania SQL

  5. Który widelec/wersję MySQL wybrać?