java连接数据库的时候,为什么只用关掉Connection对象就可以了呢?

如下代码为什么在finally的时候只需关闭con对象就可以了,pre对象不用关闭吗?如果是进行查询,ResultSet对象不用关闭吗?Connectioncon=nul... 如下代码为什么在finally的时候只需关闭con对象就可以了,pre对象不用关闭吗?如果是进行查询,ResultSet对象不用关闭吗?

Connection con=null;
PreparedStatement pre=null;
DBConn conns=new DBConn();
con=conns.getConnection();
try {
pre=con.prepareStatement("UPDATE student SET name=?,score=? WHERE id=?");
pre.setString(1, student.getName());
pre.setString(2,student.getScore());
pre.setInt(3, student.getSid());
pre.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
展开
 我来答
death028
2012-10-13 · TA获得超过118个赞
知道答主
回答量:72
采纳率:0%
帮助的人:87.9万
展开全部
这是错误的 PreparedStatement 和 ResultSet 都需要关闭
追问
啊?讲解java编程的老师在发现没有关闭后只是进行了关闭con。我还以为只是关闭了con对象即可,因为该对象是连接数据库,这样子一来就断了连接,其他就不用管了。
追答
关闭Connection之前先关闭PreparedStatement和ResultSet以便释放这些对象所占用的资源,可以使程序更高效。
关闭顺序是:先关闭ResultSet或PreparedStatement 最后关闭Connection
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式