注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 网页制作 > 网页制作技巧 内容正文:Spring JDBC抽象框架简化Web数据库开发

Spring JDBC抽象框架简化Web数据库开发

发布时间:2006-07-20 21:37:32 来源:友佳学院 网友评论 0 条
  一. 引言

  Spring是一个轻量级的应用程序框架。在许多情况中,Spring都能够良好地代换传统的由Java EE应用程序服务器所提供的服务。Spring既是综合性的也是模块化的。基于其分层架构,它能够使开发者灵活地单独使用其任何一部分。Spring由许多模块组成,例如IoC容器,AOP,MVC,持久性,DAO和remoting。这些模块都是相当松耦合的:其中,一些模块的使用根本不需要另一些模块。以前,简直还没有象Spring应用程序这样的:你可以选择使用一些,大多数,或所有的Spring框架支持的组件来构建你的应用程序。

  Spring框架所提供的JDBC支持与其它Spring部分并非是紧耦合的,这极有利于代码的可维护性。本文将向你展示任何直接使用JDBC(也即是,不通过一些O/R映射框架本身使用JDBC)的应用程序是如何从Spring中受益的。

  二. 传统型JDBC

  传统型JDBC有许多积极的方面使之在许多J2SE和J2EE应用程序开发中占有重要地位。然而,也有一些特征使其难于使用:

  · 开发者需要处理大量复杂的任务和基础结构,例如大量的try-catch-finally-try-catch块。

  · 应用程序需要复杂的错误处理以确定连接在使用后被正确关闭,这样以来使得代码变得冗长,膨胀,并且重复。

  · JDBC中使用了极不明确性的SQLException异常。

  · JDBC没有引入具体的异常子类层次机制。

  相应于任何一种错误,都只是抛出SQLException异常-无论它来源于JDBC驱动程序还是来源于数据库,这使得程序员很难理解到底是哪里实际出现了错误。例如,如果SQL对象是无效的或已经被锁定,那么将抛出一个SQLException异常。调试这样的异常需要一定的时间来检查SQL状态值和错误代码。更有甚者,SQL状态值和错误代码的含义在各种数据库之间都有些差别。

  事实证明,编写JDBC代码并不是一项容易的工作-存在大量的重复性的工作。为了说明问题,下面是一个例子-使用传统型JDBC来从数据库中得到一个可用任务的列表。

package com.spring.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
public class TraditionalJDBC {
 public Vector getTasksNames() {
  Connection con = null;
  PreparedStatement pstmt = null;
  ResultSet rs = null;
  Vector task = new Vector();
  try {
   con = getConnection();
   pstmt = con.prepareStatement( "select TASKNAME from tasks");
   rs = pstmt.executeQuery();
   while (rs.next()) {
    task.add(rs.getString(1));
   }
  } catch (SQLException e) {
   System.out.println(e);
  } finally {
   try {
    rs.close();
    pstmt.close();
    con.close();
   } catch (SQLException e1) {
    System.out.println(e1);
   }
  }
  return task;
 }
 private Connection getConnection()throws SQLException {
  try {
   DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
   return DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl",
"scott","tiger");
  } catch (SQLException sqle) {
   System.out.println(sqle);
   return null;
  }
 }
 public static void main(String[] args) {
  TraditionalJDBC obj = new TraditionalJDBC();
  Vector task = obj.getTasksNames();
  for (int i = 0; i < task.size(); i++) {
   System.out.println(task.elementAt(i));
  }
 }
}

  除了实际查询数据库的SQL代码外,上面的示例中需要巨大数量的例程代码。getConnection()方法与我们的任务无关,而即使是getTasksNames()方法也仅包含特定于当前任务的两行代码。剩下的都是一些普通的复杂的任务代码。

  JDBC的许多积极方面使得它在许多J2SE和J2EE应用程序中仍然占有重要地位。然而,正如你所见,有一些特征使其比我们可能想像的要更难于使用。JDBC这些乏味并且有时挫败人性的特征已经导致出现了许多公共的可以利用的JDBC抽象框架(例如SQLExecutor和Apache Jakarta Commons DBUtils),还有数不清的自家生产性JDBC应用程序框架。一种公共的可以利用的JDBC抽象框架正是Spring框架的JDBC抽象。
相关文章
  • Access数据库开发技巧(一)
  • Access数据库开发技巧(二)
  • Access数据库开发技巧(三)
  • Visual Basic数据库开发疑难问题解
【评论】【收藏本文】【打印】【关闭】
上一篇文章:淘宝网店“设计装修”技巧全攻略
下一篇文章:判断浏览器是否支持JavaScript和Cookies
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
网页设计配色基础:RGB与HSB
网页设计配色基础:RGB与HSB
淘宝网店“设计装修”技巧全攻略
淘宝网店“设计装修”技巧全攻略
我的地盘听我的 六大主流博客网站对比评测
我的地盘听我的 六大主流博客网站对比评测
推荐阅讯
  • 为Exchange Server安装WAP电子邮件网关
  • 网页分辨率设置技巧
  • 让您网页的按钮也能使用热键
  • 网页技巧:如何在网页上实现音乐播放?
  • 浅谈在网页上显示日期的两种方法
  • NIKE官方网站德国区部分网页设计欣赏
  • WML学习(一):概述和基本规则
  • 网页设计高级布局40例参考
  • 世界上最大的网页 电脑配置差者谨慎入内
  • 网页背景设计技巧
阅读排行
  • 1.淘宝网店“设计装修”技巧全攻略
  • 2.javascript函数库
  • 3.我的地盘听我的 六大主流博客网站对比评测
  • 4.WAP建站入门教程
  • 5.网页木马深度剖析以及手工清除
  • 6.WAP建站语言WML语法全接触
  • 7.好事喜事送上祝福 电子请柬随网拈来
  • 8.如何保存网页中的Flash文件?
  • 9.WAP建站WML语言语法基础
  • 10.介绍几款WAP网页制作工具(提供下载)
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载