您好, 访客   登录/注册

Web程序开发中的JDBC技术改进研究

来源:用户上传      作者: 常万军 马世霞

  摘 要:文章基于MVC模式,通过建立DBAccess类实现了JDBC对象化改进。利用继承于改进的Hashtable类的Data娄和StringH口类的设计,实现了JDBC易用性的改进。在实现对象化和易用性改进方案的基础上开发出的Web系统经测试能够正常运行,很好地说明了改进方案的可行性。
  关键词:MVC;技术改进;JDBC
  中图分类号:TP311 文献标识码:A 文章编号:1000-8136(2010)15-0144-02
  
  1 引言
  
  随着网络技术的不断发展,对Web数据库技术的发展要求越来越高。但是由于在网络环境下,Web数据库的体系结构、访问方式、访问的用户以及客户端简化等都与传统数据库有很大的不同,要使Web数据库的应用得到有效提高,需引入中间件这一技术,使得应用程序利可以用中间件共享各种资源,特别是分布式的网络资源,也使软件开发者不必在应用程序间的通信、互操作以及它们的效率、可靠性、容错性、安全性、完整性等问题上耗费太多精力,提高应用程序开发的效率。JDBC(Java Data Base Connectivity)是基于中间件平台的一种数据库访问技术,他能够很好的与ODBOOpenDataBaseConnectivity)结合,具有可移植性、平台无关性。但是由于JDBC是基于面向过程的思想提供服务的,不符合面向对象的要求,同时其易用性不能使人满意。本文讨论了基于MVC模式的JDBC对象化改进等Web数据库系统开发技术的改进方案,从而很好地保持了JDBC的优点并改进了其在Web系统开发中的缺点。
  
  1.1 MVC模式
  MVC模式(Model―View―Controller),即把一个应用的输入、处理、输㈩流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三层――模型层、视图层、控制层。视闯(View)代表用户交互界面,绘制和显示模型的数据,提交由控制器提供的数据。模型(Model)是业务流程/状态的处理模块,包括对业务数据的存取、加丁、综合等;维护应用程序的状态和数据,可以接受来自视图的查询并做出响应;同时当模型的数据发生变化时,它把变化通知给视图,视图根据模型的变化来更新自己。模型的设计可以说是MVC最主要的核心。控制(Controller)是基于应用程序的逻辑更新模型,它要告诉程序开发者,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求,控制层自身却并不做仟何的数据处理。控制层负责View和Model之间的流程控制,一方面是将用户界面(View)的操作映射到具体的Model,以完成具体的业务逻辑,另一方面是将通过Model处理完的业务数据及时反应到用户界面(View)上。
  
  1.2 JDBC技术改进
  1.2.1 基于MVC模式的IDBC对象化的改进
  对于程序员来说,JDBC在数据库连接时,整个数据库连接过程并不是面向对象的,而是面向过程的。JDBC每次连接数据库,同一数据库连接流程都需要从头到尾编译一次,使得数据库连接过程繁琐,编程效率低下。另外,由于数据库操作比较复杂,对于不同的数据库操作JDBC中提供不同的Statemeni方法,这样加大了编程的工作量,也不符合面向对象的思想。
  基于MVC设计思想,对JDBC的连接过程进行了改进。首先,将整个JDBC数据库连接过程封装入一个叫做DBAccess的类中,利用DBAecess类定义的对象为程序员提供统一的编程接口;接着在DBAccess类中创建一个public方法,即DBControl方法,用DBControl方法作为DBAccess类中的控制层;然后用ExecuteUpdate()方法执行Insert、Update、Delete操作,用ExeeuteQuery()方法执行select操作等。这些对数据操作所用到的方法的调用过程对于用户来说是透明的,实现了MVC设计思想中的控制层的功能。
  显然,按照上述方法封装的DBAeeess类中,DBControl方法起到了控制层的作用。用private函数来实现的ExecuteUpdate()、ExeeuteQuery()等方法则实现了具体的数据库连接等业务流程。ExecuteUpdate()、ExecuteQuery()等方法就是DBAeeess类中的模型层,对用户来说是不可用的、透明的。而表示层并不在DBAeeess类中,因为在整个数据库的连接过程中并不需要考虑数据库连接结果最后应该如何使用。这样,引入MVC理念对JDBC的对象化进行改进,可以使基于JDBC的Web数据库系统具有良好的可扩展性及灵活性。
  1.2.2 JDBC移植性改进
  在Web程序开发过程中,针对不同的数据库产品,JDBC是使用不同的JDBC数据库驱动程序来实现的;在连接数据库时,JDBC利用String字符串类型的参数,但是对不同的数据库系统,字符串参数需要发生变化。这种数据库连接方式对数据库系统的依赖性非常强,使得JDBC在可移植性与速度的平衡方面很难令人满意。
  为改变JDBC联结方式对数据库的依赖,创建一个Const类,用来存储整个程序所需要的各种常量,并将JDBC数据库接连时所用的全部sbog字符申类型的参数字符串变量作为Const类的全局变量存储。当JDBC连接数据库时,从Const类提取相应字符串变量传递给DBAecess类。
  由于Const类的引入,创建数据库连接所需的字符串参数存储在内部文件中,数据连接的速度会有很大的改观。同时又因为各连接参数没有存储在DBAceess类文件中,很好地保持了JDBC的可移植性,当数据库产品改变时,我们提练并用某种方法改变存储于Const类中的数据库连接参数,对Const类重新编译后即快速可顺利连接改变后的数据库,实现了可移植性与连接速度的统一。
  1.2.3 JDBC返回值改进
  JDBC数据库连接操作的返回值类型,是JDBC默认的结果集类Resultset。Resultset类的功能十分强大,包含String、Int、Data等各种常用的数据类型。在传统的JDBC开发中,Resultset中的数据程序员并不能直接使用,往往还需要将其转化为其他能够直接使用的数据类型。为解决此问题,提出了JDBC返回值的改进方案。
  首先,建立Data类。Data类继承于由Resultset类转化后的Hashtable类型,这样当创建JDBC数据库的首次连接时,如果结果集类Resultset中的数据较多。利用继承于Hashtable类的Data类可以实现结果集中数据的快速检索,同时Data类继承Hashtable类方法的基础上,又具有特殊的的属性和方法。可以满足Wob数据库连接开发的特殊性要求。
  接着建立string□□这一数据类型。基于String□□类型的特点。一方而它可以很轻松地将数据库表中的数据转化并存储于其中,另一方面,String□□类型中的String类型数据很容易在JSP页面上得到体现,因此,String□□类的引入很方便地将Resultset中的数据转化为JSP页面的数据。
  由此,利用Resultset类型、继承于改进的Hashtable类型的Data类和String□□类型,实现厂对数据库查询操作的返回值的改进,使数据库中的数据能够根据用户的要求在JSP页面中得到显示。
  
  1.3 JDBC改进技术的实现
  按照MVC设计模式思想,利用上述方法,将Web程序开发分为表示层、控制层和模型层。在DBAceess类封装了控制层和模型层,利用public方法DBControl来实现用户请求的初步处理和数据分流,利用四个private方法来分别实现用户不同的数据库操作请求,而单独建立的Const类和Data类更是辅助提高了Web程序开发的效率和Web程序的性能。
  采用JAVA程序设计工具和Mysql数据库系统,在实现上述改进方案的基础上,开发出一款小型Web系统,能够实现数据的编辑、插入、删除和查询等功能。依照MVC理念对该Web系统测试,系统也能正常运行。充分验证了本文提出的技术改进方案的可行性和优越性。
  
  2 结束语
  
  基于MVC模式,实现了JDBC对象化改进和JDBC易用性的改进。利用DBAccess类实现了JDBC的对象化改进,利用继承于Hashtable类的Data类和String□□类的设计实现了JDBC易用性的改进。本文设计改进方案,不只适用于Web程序系统,也可以应用于其他基于JAVA平台的软件系统。此可以很好地用于基于JDBC连接的网络数据库系统的开发。


转载注明来源:https://www.xzbu.com/8/view-53470.htm