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();
}
} 展开
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();
}
} 展开
展开全部
这是错误的 PreparedStatement 和 ResultSet 都需要关闭
追问
啊?讲解java编程的老师在发现没有关闭后只是进行了关闭con。我还以为只是关闭了con对象即可,因为该对象是连接数据库,这样子一来就断了连接,其他就不用管了。
追答
关闭Connection之前先关闭PreparedStatement和ResultSet以便释放这些对象所占用的资源,可以使程序更高效。
关闭顺序是:先关闭ResultSet或PreparedStatement 最后关闭Connection
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询