APP下载

基于java三层构架的管理信息系统中DAO层的构建探索

2015-06-29陈欣

科技资讯 2015年11期
关键词:管理信息系统

陈欣

摘 要:该文主要探讨基于java语言在管理信息系统中数据存取层的设计方式和方法的探索,将MVC与三层构架进行结合,研究DAO模式在管理信息系统的作用,将业务逻辑与数据访问技术更好的融合,并结合管理信息系统实例来改善DAO层的设计,通过使用模板模式简化代码使得开发过程更加简洁,可以更好的提高系统架构的复用性、拓展性及可维护性,同时也更好的改善了系统的性能,提高程序的安全系数。

关键词:管理信息系统 DAO MVC设计模式 JDBC

中图分类号:C93 文献标识码:A 文章编号:1672-3791(2015)04(b)-0026-02

管理信息系统(MIS),是计算机度应用当中相当普遍和普及的软件系统,主要用于记录、存储、修改、统计查询生产生活中产生的数据,避免人工处理数据的弊端,加快数据的统计和分析过程。应用程序在相当程度上需要使用持久性数据。对于信息系统而言,持久性存储[1]是通过不同机制实现的。信息系统的设计一般都采用三层结构来设计,基于java三层构架的系统中数据存取层的设计主要是通过JDBC驱动来执行标准的SQL语句,进行数据库的增删改查。对于千篇一律的增、删、改、查写起来不仅麻烦,而且容易出错。该文介绍一种设计方法来改善DAO层的设计,从而减轻程序员的工作负担,降低出错的可能性。

1 管理信息系统的三层体系结构

管理信息系统目前主要采用B/S结构。以浏览器(Browser)作为客户端,Web服务器作为服务端,数据库服务器和Web服务器可以安装到一台电脑上作为服务器也可以放在不同的电脑上,Web服务器通过JDBC驱动程序访问数据库。Web服务器通过接受请求,并将请求转给Servlet类进行处理,将servlet处理的结果响应给浏览器。系统的三层体系结构如图1所示。

2 系统的设计模式(MVC和三层设计的结合)

MVC设计模式是目前B/S设计当中最常采用的一种模式,通过使输入、处理、输出在设计分离,使内容和显示相分离,将应用程序分成三个核心部件:模型、视图、控制器。他们各自处理自己的任务。简化编码,降低系统的复杂性。同时也有利于团队开发中的分工合作,是一种创建软件的比较好的途径。

MVC模式在实现上采用三层结构来设计如图2所示,表示层:负责调用业务逻辑层的方法,将数据展现给前端用户,主要是网页jsp页面。业务逻辑层:专注于业务逻辑的处理,针对具体的业务进行处理。数据访问层:直接操作数据库,对数据进行增、删、改、查的操作。层和层之间通过domain对象来相互通信。控制器采用Servlet来实现,在控制器中调用业务逻辑层的方法并控制数据到表示层的交互。

3 数据存取层技术DAO

数据库是管理信息系统的核心内容,DAO层的主要作用就是将与持久化相关的代码从业务逻辑层中分离出来,把数据库层对数据库进行操作的代码全部封装到一个DAO类中[2],把业务流程和规则放在一边,把持久化相关的放在另一边。目前,Web与数据库的接口技术有很多,其中JDBC是Java程序连接和存取数据库的应用程序接口,由一组用Java语言编写的类与接口组成,是执行SQL语句的Java API。该文介绍的管理信息系统中,在数据的存取方面,采用了JSP/Servlet+JDBC的技术,即客户端不产生数据库查询命令,客户端上的浏览器通过URL和中间层的Web服务器建立连接。Web服务器主要负责接收本地或远程浏览器的HTTP数据请求,然后中间层的Servlet收到请求后,通过执行程序中的SQL语句,利用JDBC提供的标准API对数据库进行访问和相应的操作处理。Servlet再将查询的数据传给JSP,最后生成标准的JSP页面将结果返回给提出请求的浏览器。这样,不仅将客户端与数据库服务器端分开,同时提高了数据库的访问效率。

4 管理信息系统DAO构建实例

为了更好地说明使用JSP/Servlet构建三层式管理信息系统的方法,作者将举例分析设计一个商品邮购管理信息系统。这个商品邮购管理信息系统利用Java语言进行服务器端应用程序的开发,使用IBM公司的Webshpere作为应用服务器,数据库管理系统选用SQL Server 2005,数据库接口程序使用JDBC2接口。整个系统使用基于Web的方式来实现邮购业务的客户管理、职员管理、订单管理、商品管理、出库管理、入库管理等业务处理、流程控制、权限控制、查询统计以及打印等功能。其中详细分析用户登录功能。

4.1 数据库设计

对于一般的系统都会有一张用户表,作为用户登录注册之用。表结构见表1。

其中去掉异常的处理,在实际使用的时候可以适当的加上异常。该类主要用于DAO在获取数据库连接或者释放数据库资源的时候使用。

4.2 DAO层的设计

开发人员用 DAO模式将底层的数据访问操作和上层的业务逻辑分开[3],主要是给业务层调用,这样保证除了DAO层之外,在别的地方看不到SQL语句,便于明确的分工合作。DAO层的设计,一般会给每张表都增加一个DAO类,那么在设计的时候,经常会出现打开连接关闭连接的操作。因此可以抽象成一个父类,我们在父类中完成这些繁琐的重复的工作。请看例子。

下面是子类的设计:充分利用多态的原理,让父类处理公共的操作,而把每个表特别单独处理的部分,比如记录到对象的转换、SQL语句,参数,放到子类当中来实现。这样封装好的父类,可以为子类的编写节省大量的时间

客户端通过业务层的类来调用DAO层的方法来实现业务功能。

5 结语

该文描述了一个基于java三层构架的管理信息系统中DAO层的编写方案。该方案通过抽象DAO层的公用代码,使得DAO层的编写将会异常的简单,只需要编写实体对象和记录的对应关系、SQL语句和参数,将面向对象的模板模式大量的应用,大大的简化了DAO的编写。

参考文献

[1] SUBRAHM ANYAM ALLAMARAJU.J2EE服务器端高级编程(Professional Java Server Programming J2EE Edition)[M].北京:机械工业出版社(Beijing:China M achine Press),2001.

[2] 郑翔.JAVA DAO模式浅析[J].科教文汇:下旬刊,2010(8):75-76.

[3] 孟晨,赵春亮,张建国.泛型DAO模式在Java Web开发中的应用[J].计算机应用与软件,2012(1):175-177,210.

猜你喜欢

管理信息系统
面向管理信息系统开发的软件工厂技术研究
应用电力营销管理信息系统进行电费管理探究
管理信息系统的研究
高校图书馆管理信息系统的完善和发展研讨
应用技术型本科工程管理类专业《管理信息系统》课程教学改革
基于B/S结构的学生公寓管理信息系统的设计与实现
基于“互联网+”的企业管理信息系统优化分析
基于工作流的水运应急信息管理平台设计 
管理信息系统案例教学探讨
浅析管理信息系统课程教学