taskFinalURL varchar(50) 最终文本存放地址
(5) 客户表(customer表)
3.3.3.5 customer数据库表
字段名 字段类型 约束或索引 描述
id int PK 客户表ID
cusId int FK 客户ID
cusName varchar(50) 客户名称
cusTel varchar(50) 联系方式
cusAddr varchar(50) 客户地址
cusPerson varchar(50) 客户联系人
(6) 财务表(financial表)
3.3.3.6 financial数据库表
字段名 字段类型 约束或索引 描述
id int PK 财务表ID
money double 具体数额
flag int 0:收入1:支出
from varchar(50) 经费收入来源或支出项目
3.3.4 数据库E-R图
根据以上的需求分析(数据流图、数据字典等),对现实世界的数据进行抽象。
图 3.3.4 E-R图
3.3.5 数据库连接
本系统基于Hibernate+Struts2+Spring架构的Java Web系统,所以数据源的建立和配置都是在applicationContext-mysql.xml文件中实现的。在xml中,<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">元素是用来配置应用所需要的数据源。数据源负责建立和特定数据库的连接,许多数据源采用连接池机制实现,以便提高数据库访问性能。
3.4 总体框架设计
本系统采用了MVC设计模式。在这里我用Struts2这个MVC的框架,来实现系统的设计,使用Struts2对程序进行整体的流程控制。
1. MVC模式
MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层 。
视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML等。 随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求request,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个清单的视图只接受来自模型的传递来的对象response的数据并显示给用户,在数据传输过程中,对象request起到了和大的作用,它能将所有的请求的数据及页面的cookie传递给控制和模型。在这系统中的View我采用JSP技术,用来显示数据给客户。其中使用 EL(expression language)表达式和JSTL语言来消除JSP页面中的Java语言。例如:
<c:forEach var="productType" items="${productTypes}">
<option value="<c:out value="${productType.id}"/>" />
<c:out value="${productType.name}"/>
</c:forEach>
模型层:模型层又分为业务逻辑层(service层)和数据持久层(dao层)。
业务逻辑层:是我们逻辑思想的主要展现,是对控制层中的各个分支的具体实现,对事务的控制(本系统由于采用了Spring框架,也可应用依赖注入可解决事务的处理,只需要在Spring-dao.xml文件中配置即可),调用数据持久层(dao层)的方法。这里所说的是service层,我们可以看看service层的代码: Android翻译公司业务管理系统设计与实现(11):http://www.youerw.com/jisuanji/lunwen_141.html