提高数据库操作的可靠性

Java中的数据库操作是比较频繁的,很多人在处理数据库操作时往往拿不准,只能保证程序正常运行下没有问题,但是很多都没有释放资源或者没有正确的释放资源,等到有问题又不知道怎么回事!这里给出一个通过JDBC操作数据库的简单例子, 希望有一定的参考价值,为了方便,通过数据库连接工厂获得连接。
有关连接工厂的代码:http://blog.111cn.net/treeroot/archive/2004/09/24/115372.aspx
先看看下面这段代码,你是否觉得有问题?
try {
  Connection conn = ConnectionFactory_JDBC2.getConnection();
  Statement state = conn.createStatement();
  ResultSet rs = state.executeQuery("select * from table");
  //这里处理数据
  rs.close();
  state.close();
  conn.close();  //有的连这一句都没有
}
catch(SQLException e){
  //这里可以自己处理,也可以抛出
}
这里给出一个替代实现:
Connection conn = null;
Statement state = null;
ResultSet rs = null;
try {
  conn = ConnectionFactory_JDBC2.getConnection();
  state = conn.createStatement();
  rs = state.executeQuery("select * from table");
  //处理数据
}
catch(SQLException e){
  //这里可以自己处理,也可以抛出
}
finally{
  if(rs!=null){
    try{rs.close();}catch(SQLException e){}
  }
  if(state!=null){
    try{state.close();}catch(SQLException e){}
  }
  ConnectionFactory_JDBC2.closeConnection(conn);
}
这个实现好像更加复杂了,但是可靠性更高了,虽然第一段代码的实现一般不会有什么问题,确实很难会有问题(有时候想让Windows兰屏还真不容易),但是还是强烈建议通过finally释放你的资源,不要让潜在的危险存在!

时间: 2024-10-02 09:53:58

提高数据库操作的可靠性的相关文章

建立JSP操作提高数据库访问效率

js|访问|数据|数据库     从服务器端促进程序快速开发的Java Server Pages (JSP)决定它成为一种广为流行的工具.虽然呆板的一面仍然存在,然而无论它包含多少缺点,JSP能够为Web程序设计者提供很多东西,尤其是与数据库的输入和输出操作与数据的处理.     通过JSP来进行数据库访问不需要太多的引导.问题是如何使开发者能够接受Web程序的数据库访问比传统的本地OLAP系统的数据库访问更加具有吸引力,并且使他们认识到,整洁和简要的数据访问方法才是关键的.在这一点上,JSP可

建立JSP操作以提高数据库访问的效率

js|访问|数据|数据库     从服务器端促进程序快速开发的Java Server Pages (JSP)决定它成为一种广为流行的工具.虽然呆板的一面仍然存在,然而无论它包含多少缺点,JSP能够为Web程序设计者提供很多东西,尤其是与数据库的输入和输出操作与数据的处理. 通过JSP来进行数据库访问不需要太多的引导.问题是如何使开发者能够接受Web程序的数据库访问比传统的本地OLAP系统的数据库访问更加具有吸引力,并且使他们认识到,整洁和简要的数据访问方法才是关键的.在这一点上,JSP可以很好地

如何建立JSP操作用以提高数据库访问效率

从服务器端促进程序快速开发的Java Server Pages (JSP)决定它成为一种广为流行的工具.虽然呆板的一面仍然存在,然而无论它包含多少缺点,JSP能够为Web程序设计者提供很多东西,尤其是与数据库的输入和输出操作与数据的处理. 通过JSP来进行数据库访问不需要太多的引导.问题是如何使开发者能够接受Web程序的数据库访问比传统的本地OLAP系统的数据库访问更加具有吸引力,并且使他们认识到,整洁和简要的数据访问方法才是关键的.在这一点上,JSP可以很好地解决. 你能够做哪些? 如果你正在

Oracle 数据库操作技巧集_oracle

正在看的ORACLE教程是:Oracle 数据库操作技巧集.[编者注:]提起数据库,第一个想到的公司,一般都会是Oracle(即甲骨文公司).Oracle在数据库领域一直处于领先地位.Oracle关系数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好.使用方便.功能强,适用于各类大.中.小.微机环境.Oracle9i是Oracle于今年6月份正式推出的数据库最新产品.Oracle9i在可伸缩性.可靠性和完整性方面有着上佳的表现,一推出就获得了开发者的认同.它是一种高效率.可靠性好的适

提高数据库查询速度的几个思路

提高数据库查询速度的几个思路 :1.缓存,在持久层或持久层之上做缓存;2.数据库表的大字段剥离,保证单条记录的数据量很小; 3.恰当地使用索引;4.必要时建立多级索引; 5.分析Oracle的执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描; 6.表分区和拆分,无论是业务逻辑上的拆分(如一个月一张报表.分库)还是无业务含义的分区(如根据ID取模分区);7.RAC;8.字段冗余,减少跨库查询和大表连接操作; 9.数据通过单个或多个JOB生成出来,

强烈推荐:SQL Server数据库操作实用技巧锦集

server|sql|技巧|数据|数据库 本文主要概括安装时提示有挂起的操作.收缩数据库.压缩数据库.转移数据库给新用户以已存在用户权限.检查备份集.修复数据库等操作技巧. 1.挂起操作 在安装SQL或SP补丁的时候系统提示之前有挂起的安装操作,要求重启,这里往往重启无用,解决办法: 到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager删除PendingFileRenameOperations. 2.收缩数据库

连接缓冲池提高数据库性能

数据|数据库|性能 如果你的ASP应用程序与数据库交互的话(我想肯定得访问数据库的,要不然用ASP干嘛?),使用连接缓冲池将大大提高数据库的性能. 建立一个到数据的连接所花费的时间和系统资源并非微不足道的. 当每个需要建立数据库连接实例的页面被访问到时,一个新的连接对象将被创建,并在该页面执行完后销毁,如果有许多人同时访问你的站点的话,访问者们将发现系统性能变得很低. 连接缓冲池维持着连接实例,以便用户可以随时使用数据库连接. 比如说,你有一个ASP页面创建了一个到SQL数据库的连接,从数据库中

利用对象池优化数据库操作

说到对象池,大家都不陌生.很多人都实现过,网上的代码也满天飞.说到连接池,更是谁人不知, 哪家不晓.也有不少人自己实现了连接池,试图对数据访问进行优化.归纳了一下,比较常见的思路如下 : 1.数据库连接的打开比较耗费资源,如果能避免重复的开关,可以提高效率. 2.如果有一个一直打开数据库连接,直到程序结束其生命才随之结束.长时间打开并重复使用将导致 连接对象的不稳定. 3.无法保证打开的连接一点问题都不出. 4.自动化管理数据库连接,解决频繁创建.分配.释放带来的问题 然而本人认为,这些担心相对

最好用的PHP数据库操作类-ezSQL

 ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的MySQL部分.该数据库操作类支持几乎所有主流的数据库,如:PHP-PDO, mySQL, Oracle, InterBase/FireBird, PostgreSQL, SQLite以及MS-SQL等.ezSQL具有很强的调试功能,可以快速地查看SQL代码的执行情况.使用ezSQL,可以为我们节省开发时间.简化代码并提高运行效率. ezSQL的优点就不用多说了,它小巧.快速.简单.易