2.tb_bookType(图书分类表)
图书分类表包括编号,类别名称,可借天数和罚款金额等信息。
3.tb_borrow(图书借阅表)
图书借阅表包括,图书编号,读者编号,操作员编号,是否归还,借阅日期,归还日期等信息。
4.tb_operator(操作员信息表)
操作员信息表主要包括编号,姓名,性别,年龄,身份证号,工作日期,电话,是否为管理员和密码等信息。
5.tb_order(图书订购表)
图书订购表主要包括图书编号,订购日期,订购数量,操作员,是否验收和折扣等信息。图书订购表以图书编号与图书信息表建立了关系。
6.tb_reader(读者信息表)
读者信息表包括条形码,姓名,性别,年龄,电话,押金,生日,职业,证件类型,办证日期,最大借书数量,证件号码等信息。
7.tb_stockpile(库存信息表)
库存信息表主要包括编号,库存数量等信息。库存信息表以库存编号与图书信息表建立了关系。
六:数据库建模
本系统数据库采用Power Designer软件建立数据库中各个表的关系,进行数据库的建模,以连接各个数据库,使数据库中各个实体间建立联系。数据库中各个表间关系如图所示。
七:详细设计 一:公共模块设计
1:数据库连接及操作类的编写
数据库连接及操作类通常包括连接数据库的方法getConnection,执行查询语
句的方法executeQuery(),执行更新操作的方法executeUpdate(),关闭数据库连接的方法close()
1:指定类Dao.java保存的包,并导入所需的类包。关键代码如下:
package com.wsy.dao; //指定类的包名称
//导入进行数据库连接时所使用的java.sql.Connection类 import java.sql.Connection;
//导入进行数据库连接时所使用的java.sql.DriverManager类 import java.sql.DriverManager;
//导入进行数据库表查询时所使用的java.sql.Resultset类 import java.sql.ResultSet;
//导入进行数据库操作时捕捉异常使用的java.sql.SQLException类 import java.sql.SQLException;
2:在Dao.java类的构造方法中创建数据库连接操作。在此类中首先定义数据库连接驱动包名,数据库连接路径,数据库连接用户名,密码等静态变量,然后在构造函数中实现数据库连接操作。在数据库连接代码中需要添加try...catch关键字,捕捉数据库连接时可能抛出的异常。关键代买如下:
//定义驱动报名称 protected static String dbClassName = \;
protected static String dbUrl = \ + \;//定义数据库连接路径
protected static String dbUser = \;//数据库连接用户名 protected static String dbPwd = \;//数据库连接密码 protected static String second = null;
private static Connection conn = null;//定义一个数据库连接
private Dao() {
try { //捕捉数据库连接异常 if (conn == null) { //如果连接为空
Class.forName(dbClassName).newInstance(); //装载SQl Server驱动
//获取数据库连接
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd); }
Else return;
//如果连接不为空 //返回
//捕捉数据库连接异常
} catch (Exception ee) { ee.printStackTrace(); }
3.创建执行查询语句的方法executeQuery,其返回值为ResultSet结果集。首先需要初始化Dao对象,调用构造函数,从而获取数据库连接。executeQuery方法代码如下: private static ResultSet executeQuery(String sql) { try {
if(conn==null) new Dao(); return
conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql);
} catch (SQLException e) { e.printStackTrace(); return null; } finally { } }
4.创建执行更新操作的方法executeUpdate,它的返回值为int类型的整数,此返回值代表数据更新的操作是否成功,返回1代表称,不成功则返回-1,其关键代码如下: private static int executeUpdate(String sql) {