conn,rs,pstmt关闭操作
详细看了一遍还可以,怎么从头到尾没有Connection连接、PreparedStatement预编译句柄、ResultSet的关闭操作?
详细看了一遍还可以,怎么从头到尾没有Connection连接、PreparedStatement预编译句柄、ResultSet的关闭操作?
2016-02-21
可以执行完所有再关闭Connection,老师为了演示方便没有立马关闭。
这里有讨论:http://bbs.csdn.net/topics/390869796
一条SQL语句后连接数据库的Connection必须要关闭吗?
可以批处理sql语句,流程走完后关闭连接。
建议执行完一次数据库操作,就关闭数据库资源;
频繁的话,可以考虑数据库连接池,由连接池初始化一定数量的连接,每次程序跟连接池打交道,不直接跟数据库打交道,这样节省资源。
获取一个connection后,每次产生一个Statement,都相当于产生一个游标,每次操作完,便要关闭该statement。否则,如果一直只向数据库索取连接,但不关闭的话,那么数据库的statement连接耗尽时,便会抛出,游标超出最大数量的异常 ORA-01000: maximum open cursors exceeded 。
1.一般数据库访问量大的话,开启连接池
2.开启连接池以后,就像楼上所说,用完关闭。其实后台socket并没有关闭,等待下一次使用。在Java7中try(申请资源){}这种结构,离开时会自动调用close的
3.业务复杂的时候,并不能一次完成所有sql操作,所以用完必须关。
prepareStatement("sql语句"),可以连续使用。
举报