conn,rs,pstmt关闭操作

来源:3-1 课程总结

dengyu

2016-02-21 19:35

详细看了一遍还可以,怎么从头到尾没有Connection连接、PreparedStatement预编译句柄、ResultSet的关闭操作?

写回答 关注

1回答

  • TTKatrina
    2016-02-22 22:57:52

    可以执行完所有再关闭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语句"),可以连续使用。

JDBC之 “ 对岸的女孩看过来”

一起领略JDBC的奥秘,为进一步学习集成框架打下良好的基础

99327 学习 · 856 问题

查看课程

相似问题