大家都是如何处理数据库连接(关闭资源)
昨天碰到一个数据库方面的异常:
创建连接异常
java.sql.SQLException:
Listener refused the connection with the following error: ORA-12519, TNS:no appropriate service handler found
The Connection descriptor used by the client was:
127.0.0.1:1521:xe
网上找了些资料,都说数据库线程并发数目已经到配置值的最大值,而且没有关闭资源,所以才抛出这个异常。
我自己看了看代码,虽然没找到问题,但是发现自己的代码确实写得很不好,太不规范了。如果用jdbc来实现dao层来持久化数据,怎么样关闭连接?如果用数据库连接池,有怎么关闭连接?用Hibernate呢?
------解决方案--------------------JDBC: Connection.close();
Hibernate: Session.close();
c3p0口碑不错,Hibernate默认就是使用的c3p0的连接池。
------解决方案--------------------
呵呵,如果是网站的话,放到拦截器里去关.当然这个还是要看情况的.既然用了c3p0,那很多就很方便了.
如果你的网站没有事物的话,那就执行一次关一次呗.