刚学java,
stmt = conn.prepareStatement(sql);
stmt.close();
rs = stmt.executeQuery();
rs.close();
这些执行sql的方法 为什么最后要调用close?
一直不理解。谁能讲下通俗易懂的例子?
连接用完不回收的话,链接池会耗光资源。
stmt是会占用资源的,所以尽量要手动关闭,确保资源释放;不然的话可能因为数据库不一样,发生不同的情况,有时会死锁,有时会提示数据库无法访问等等。
举个不恰当的例子,你回家拿了些东西,然后出门了,出门之前是不是应该把打开的门锁上?
这个close()
在ResultSet
里是有注释的:
Releases this
ResultSet
object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.
就是立即回收对象的数据库、JDBC所占的资源。