栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

每个线程通过新连接实例进行连接池(JDBC)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

每个线程通过新连接实例进行连接池(JDBC)

无论线程问题如何,您都 绝对 应该使用连接池。它将大大提高连接性能。然后到线程问题,这确实是一个主要问题。JDBC的惯用法是在 尽可能短的范围内*
获取 关闭 所有资源。也就是说,所有操作都应在同一方法块中进行。您正在描述的问题症状表明您没有正确关闭这些资源。
*

无论连接是否来自池,关闭都应始终进行。如果关闭非池化连接,则当数据库保持打开状态太长时间时,它将防止数据库超时。关闭池化连接实际上会将其释放回池,并使其可用于下一个租约。

这是的情况下,普通JDBC惯用法的样子

INSERT

public void create(Entity entity) throws SQLException {    // Declare.    Connection connection = null;    PreparedStatement statement = null;    try {         // Acquire.        connection = database.getConnection();        statement = connection.prepareStatement(SQL_CREATE);        // Use.        statement.setSomeObject(1, entity.getSomeProperty());        // ...        statement.executeUpdate();    } finally {        // Close.        if (statement != null) try { statement.close(); } catch (SQLException logOrIgnore) {}        if (connection != null) try { connection.close(); } catch (SQLException logOrIgnore) {}    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/438899.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号