java-此jdbc资源是否关闭?

回顾我的代码,我发现我偶尔写过:

ResultSet rs = conn.createStatement().executeQuery("select * from main");
//snip
rs.close();

有时我写了

Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("Select * from main");
//snip
rs.close();
st.close();

在第二个代码段中,更明显的是该语句是关闭的,但是在第一个语句中它也是关闭的吗? conn.createStatement()返回一个语句对象,但是像这样实例化时,完成后我看不到任何简单的方法关闭它.我是否应该重写各种代码以使用方法2?

解决方法:

该语句在被垃圾回收时将自动关闭,但是如果要在使用完资源后立即释放它们,则需要显式关闭它.

但是请注意,反向操作确实有效.也就是说,关闭语句也会关闭与之关联的ResultSet.

相关文章

连接数据库的方式:第一种方式:ODBC:开放数据库连接是微软...
JDBCRequest 使用VariableNamesmysql:数据库连接池对象var...
 1.JDBCDBC(JavaDataBaseConnectivity):Java数据库连接技术...
1.需要jar包的支持:java.sqljavax.sqlmysql-conneter-java....
1.简介Activiti是一个业务流程管理(BPM)框架,它是覆盖了业务...
1.JDBC体系系统一组规范:接口JDBC接口(API)包括两个层次:...