关于使用JDBC时MySQL连接池关闭错误的问题

我在云服务器上搭建了一个网站,打开Tomcat服务器后可以访问,但过了一段时间(几个小时左右)Tomcat就会报错而无法访问。网上查到应该是MySQL连接没有关闭的问题,于是我在每个使用了连接conn的函数上都加了关闭连接的代码conn.close(),但是Tomcat报HTTP 500错误。

经过检查发现解决办法的原理是每创建一个连接conn,就要关闭一个连接conn,而创建连接的代码是Class.forName(driver).newInstance();

和conn = DriverManager.getConnection(url, username, password);

而这两条代码都应该放到getConnection()方法中,但是之前我的Class.forName(driver).newInstance()设置为静态代码块加载驱动,因此出错,导致后面的方法使用conn时,创建了一次连接,而关闭了两次连接(一次是查询后使用conn.close(),另一次是更新数据库后又使用了conn.close()),解决方法就是把Class.forName(driver).newInstance()移入创建连接的方法getConnection()中

你可能感兴趣的:(数据库)