图5-5 读者规则管理流程图
(一)、详细设计概述
详细设计以概要设计为依据,进一步对系统每一个模块进行细化及对数据库的数据结构进行设计
(二)、数据库连接组件
1.图书数据组件
该组件是BookBean类,根据java的规范,这个类实现在BookBean.java文件中,它继承了ParentBean,通过ParentBean中的getonePage()、insertRecord()、updatRecord()和deltetRecord()方法向数据库发送SQL语句并完成数据的查询、增加、删除和修改的操作。
1.1用来查询一条数据的通用私有接口
Private Hashtable searchOneData(String sql)
该方法有一个参数,参数是一个字符串,表示要向数据库发送的一条SQL语句,这个SQL语句只能是一个查询语句,方法的返回值是一个Hashtable,在Hashtable中以键值对的方式表示了从数据库中选出的第一行记录。用Hashtable中的get(“FieldName”)方法可以得到该行记录的某一个记录的值。
查询核心代码如下:
<
%@page language="java" contentType="text/html;charset=Gb2312"%>
<
%@page import="java.util.*,java.text.*,kjb.main.*,kjb.bean.*"%>
<%
DealString ds = new DealString();
//取
www.wlfree.com String strSearch = ds.toString((String)request.getParameter("txt_search"));//新加入
if(strSearch.equals("")) strSearch="0";
String strTj = ds.toString((String)request.getParameter("tj"));
%>
<script>
function search()
{
document.all.txt_type.value = "<%=strType%>";
document.all.txt_type1.value = "<%=strType1%>";
document.all.txt_id.value = "";
document.all.txt_edit.value = "list";
document.all.txt_search.value = "1";
document.all.form1.action = "index.jsp";
document.all.form1.submit();
}
</script>
1.2增加记录的公有接口
Public int insert(Hashtable hash)
该方法有一个参数,是java.util.Hashtable类,在调用该方法之前,先用hashtable的put方法将记录的字段名和该记录的值存入hashtable中,然后将这个hasttable作为参数传入到insert方法中。在insert方法的最后,调用了ParentBean中的insertRecord方法,insertRecord可以根据传入的参数自动地生成增加记录的SQL语句并通过JDBC发送到数据库。
1.3删除记录的公有接口
Public int delete(String id)
该方法有一个参数id,该参数代表的是KJB2_KJXX_Book表中的ID字段,ID字段是这个表的主键,用这一个主键可以检索到表中的一条惟一的记录,通过这一主键,delete方法可以生成一条SQL语句,删除这一条记录。
1.4修改记录的公有接口
Public int update(Hashtable hash)
Update方法是把要修改的记录的信息通过Hashtable的方式传给update,update通过调用ParentBean的updateRecord(vect)来实现其功能,updateRecord(vect)可以根据传入的Vector自动生成符合MySQL规范的SQL语句并发送给MySQL数据库。
1.5查询记录的公有接口
Public Vector getData(int page)
getData是一个返回数据集的方法,该方法有一个参数,代表取得第几页数据,通过设置这个页码,可以实现结果集的分页。getData调用了ParentBean里的getOnepage方法来实现其功能。
2.馆藏数据组件
对馆藏表KJB2_KJXX_Store操作的连接组件是StoreBean类,实现在StoreBean.java中。类似于BookBean,它也继承了ParentBean中的getOnePage()、insertRecord()、updataR
Ecord()和deleteRecord()方法来向数据库发送SQL语句并完成数据的查询、增加、删除和修改等操作。
这个类的主要功能是对馆藏表进行增、删、改操作。其实现也类似于BookBean,但是其中一个私有方法与BookBean不同。
Private Vector searchData(String sql)
这个方法以一个SQL语句为参数,并返回一个Vector型的对象作为结果集。该方法首先用JDBC向数据库发送SQL语句,取得结果集,并把结果集的每一行记录用Hashtable封装,然后把选出的多行记录以Hashtable的形式放到一个Vector里面作为返回结果。
3.借阅数据组件
该组件以BorrowBean来实现,这个类同样继承了ParentBean。在BorrowBean类中,不仅仅实现了数据表的增删改的代码,还对借阅的操作过程进行了程序化。可以说,这一个组件是一个面向事务流程的组件。
利用ParentBean来实现事务,主要是通过调用这4个方法来实现的:
creatStatement();
clearBatch();
addBatch();
int result[]=executeBatch();
closeStm();
利用addBatch()可以同时向Staement添加多条SQL语句,使用executeBatch()实现SQL语句的同时执行。如果出错,则自动取消所有的SQL语句执行。这4个方法是通过直接调用JDBC的事务处理方法来实现对事务的管理。
上一页 [1] [2] [3] [4] [5] [6] [7] [8]
JSP图书馆管理系统(文献综述+任务书+开题报告+源码) 第8页下载如图片无法显示或论文不完整,请联系qq752018766