碰到这个问题应该不是第一次了,现在才知道其中的一个原因。
我在关闭数据库时,总是习惯性地只关闭ResultSet,并且认为那样的话,connnection and statement也会自动关闭的。而事实是,正好相反,JDBC的层次是,Connection一旦关闭,其他两个就自动关闭了。
这个与我之前看到的有关IO操作的的值是发生了冲突。因为我记得,在IO中,如果用BufferReader包装InputStream的话,BufferedReader一旦关闭,其包装的InputStream也自动关闭。这里,InputStream是底层,BufferedReader是上层。
(http://community.csdn.net/Expert/topic/4749/4749076.xml?temp=.7548029)