正确使用数据库连接
来源:互联网 发布:数组的定义和初始化 编辑:程序博客网 时间:2024/05/01 19:31
以前做Java数据库查询的时候都会按照许多书上的标准方法先建立一个数据库连接,然后在该连接上调用查询,使用完毕后立刻关闭连接。后来,觉得如果要频繁查询,那么就要不停地建立连接,关闭连接,很浪费资源。通常在这种情况下会使用连接池,这样多个查询就可以共享连接,而建立和关闭连接仅仅在程序开始和结束的时候才执行,大大提高了效率。
前几天做一个数据库查询的时候遇到了一个介于前面两种之间的情况,既需要频繁查询数据,但是又只需要一个连接。我在程序的开始建立一个连接,以后的查询代码如下:
PreparedStatement statement;
try{
//在此进行数据库操作
statement.close();
}
catch(Exception e){
System.err.println(e);
}
每个查询代码都是这样,因为同时不会有多个查询产生,所以我认为这样是正确的。如果在以上代码的“数据库操作”部分不会出错的话,这样的代码的确是正确的,但是如果出现异常,那么就不会执行statement.close()一句,于是在该statement依然占用着数据库连接,导致以后的查询都不能进行。这就需要我们正确地关闭该statement。参考了网上别人的做法之后,我使用了以下的代码:
PreparedStatement statement;
try{
//在此进行数据库操作
}
catch(Exception e){
System.err.println(e);
}
finally {
try{
statement.close();
}
catch(Exception e1){
System.err.println(e1);
}
}
finally里面的部分是始终都要执行的,所以把statement.close()一句放在finally里,而statement.close()本身也会抛出异常,所以又要使用一个try…catch语句。
这样的做法可以保证查询出错时仍然可以正确关闭statement,是比较好的做法。但是如果statement.close()时出错,那仍然会造成以后的查询不能执行,所以,最好的办法还是使用连接池来统一管理连接。
- 正确使用数据库连接
- 正确及时关闭数据库连接
- JDBC- 正确关闭数据库连接
- 使用数据库连接
- Druid数据库连接池的正确姿势
- 使用数据库连接池建立数据库连接
- 使用NetWeaver创建数据库连接
- 高效的使用数据库连接
- 数据库连接池使用
- PROXOOL数据库连接池使用
- struts2使用数据库连接池
- JDBC数据库连接及使用
- mysql使用数据库连接池
- 使用数据库连接池
- 使用UDL创建数据库连接
- 使用自定义数据库连接池
- 数据库连接池使用心得
- tomcat6使用数据库连接池
- 如何将几个DBGRID里的内容导入同一个EXCEL表中....的问题
- 清晨
- ASP.Net 2.0的新增功能
- VB.NET实现DirectDraw9 (1) 托管的DDraw
- 有关FreeBSD的几点误区
- 正确使用数据库连接
- 谁有兴趣翻译Spring in Action的请在这里留言。
- Soft Updates: 用于快速文件系统(FFS)的一项消除大多数同步写操作的技术
- 单元测试的新的感想
- ASP.net开发技巧五则(转贴)
- 什么是元数据
- C++字符串完全指南
- 用TreeView实现树菜单(转贴)
- c#.net函数和方法集(转贴)