JSP虚拟主机,jsp空间,java空间,java虚拟空间JSP虚拟主机,jsp空间,java空间,java虚拟空间

Java技巧:简化JDBC的开发



作者:未知    文章来源:www.jspcn.net
发布日期:2005年01月19日
Java技巧:简化JDBC的开发

作者: BUILDER.COM

Tuesday, December 24 2002 3:25 PM

使用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(IllegalAccessException iae) {

iae.printStackTrace( );

return false;

} catch(InstantiationException ie) {

ie.printStackTrace( );

return false;

}

}

对于Oracle,JdbcUtil.ensureLoaded将调用:



JdbcUtil.ensureLoaded("oracle.jdbc.driver.OracleDriver");



其它通用的功能还包括将ResultSet转为一个对象数组,从ResultSet中得到列名,得到一个特定列的类型,或者得到一个表的主键名。



一组通用的Util类可以极大地增强开发过程;然而,要记住,最重要的是不要把所有的操作都放入Util.java中。

原作者: BUILDER.COM
原出处: BUILDER.COM
 
Copyright © 2002-2012 JSPCN.net. All rights reserved.
JSP中文网    备案号:粤ICP备09171188号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号