Java技巧:简化JDBC的开发
发表于:2007-07-01来源:作者:点击数:
标签:
使用JDBC时经常要处理大量的重复代码和捕获无尽的的 SQL Exception 。 把这些复杂、重复的处理提取出来,放到一个可以重用的JDBC工具类是非常值得尝试的。 Util类包含了可以辅助某一个领域 开发 的大量的静态方法。所以, StringUtil 类会包含一个 capitalize
使用JDBC时经常要处理大量的重复代码和捕获无尽的的
SQLException 。 把这些复杂、重复的处理提取出来,放到一个可以重用的JDBC工具类是非常值得尝试的。
Util类包含了可以辅助某一个领域
开发的大量的静态方法。所以,
StringUtil类会包含一个
capitalize方法,
StreamUtil类可能包含
pushStream方法,用于从一个输入流中读起并写入到输出流中。
在创建这样一组标准工具类时需要做两个决策。第一,你必须确定哪些功能是需要的;第二,你必须确定需要做什么种类的日志。
第二个决定更加困难些,要围绕像
Util类是否需要使用
System.err,是否抛出新的例外,是否隐藏错误,或者使用诸如log4j这样的日志工具。随着JDK1.4的发布,我们都可以使用
java.log包,所以回答这个问题更加容易了。
对于下面的例子,我们把错误输出到
System.err。
JDBC Util的一个有用的功能是
ensureLoaded方法。在编写JDBC代码时,确保在SQL调用之前,特定的驱动器装载到内存中是一个很常用的
需求。这可以通过调用
JdbcUtil.ensureLoaded(String driverName)完美的解决。
注意JDBC
Util类命名为
JdbcUtil是根据Sun的
Java代码标准的要求,在类名中,首字母的缩写词仅取第一个字母大写。
JdbcUtil.ensureLoaded的代码类似:static public boolean ensureLoaded(String name) { try { Class.forName(name).newInstance( ); return true; } catch(ClassNotFoundException cnfe) { cnfe.printStackTrace( ); return false; } catch(IllegalA
clearcase/" target="_blank" >ccessException iae) { iae.printStackTrace( ); return false; } catch(Inst
antiationException ie) { ie.printStackTrace( ); return false; }}
对于
Oracle,
JdbcUtil.ensureLoaded将调用:JdbcUtil.ensureLoaded("
oracle.jdbc.driver.OracleDriver");
其它通用的功能还包括将
ResultSet转为一个对象数组,从
ResultSet中得到列名,得到一个特定列的类型,或者得到一个表的主键名。
一组通用的
Util类可以极大地增强开发过程;然而,要记住,最重要的是不要把所有的操作都放入
Util.java中。
原文转自:http://www.ltesting.net