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

Żadne operacje nie są dozwolone po zamknięciu wyciągu

Utwórz klasę Utility do zarządzania połączeniami, aby zarządzać nią w jednym punkcie całej aplikacji.

Nie ładuj DataSource za każdym razem, gdy potrzebujesz nowego połączenia.

Przykładowy kod:

public class ConnectionUtil {

    private DataSource dataSource;

    private static ConnectionUtil instance = new ConnectionUtil();

    private ConnectionUtil() {
        try {
            Context initContext = new InitialContext();
            dataSource = (DataSource) initContext.lookup("JNDI_LOOKUP_NAME");
        } catch (NamingException e) {
            e.printStackTrace();
        }
    }

    public static ConnectionUtil getInstance() {
        return instance;
    }

    public Connection getConnection() throws SQLException {
        Connection connection = dataSource.getConnection();
        return connection;
    }

    public void close(Connection connection) throws SQLException {
        if (connection != null && !connection.isClosed()) {
            connection.close();
        }
        connection = null;
    }

}

Zawsze zamykaj połączenie i obsługuj je w try-catch-finally

        Connection conn = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        try {
            conn = ConnectionUtil.getInstance().getConnection();

            ...
        } finally {
            if (rs != null) {
                rs.close();
            }
            if (stmt != null) {
                stmt.close();
            }
            if (conn != null) {
                ConnectionUtil.getInstance().close(conn);
            }
        }


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstawianie do MySQL z PHP (jQuery/AJAX)

  2. Znajdowanie nadchodzących urodzin za pomocą jOOQ

  3. Mysql:Kolejność wyników z select <nazwa pola> z jest inna niż kolejność wyników z select * z

  4. Jak przenieść wszystkie bazy danych MySQL ze starego na nowy serwer?

  5. kolumna aktualizacji mysql z wartością z innej tabeli