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) {
try {
if(conn==null) new Dao();
return conn.createStatement().executeUpdate(sql); } catch (SQLException e) {
System.out.println(e.getMessage());
//if(e.getMessage().equals(\
for JDBC][SQLServer]DELETE 语句与 COLUMN REFERENCE 约束 'FK_TB_BORRO_REFERENCE_TB_BOOKI' 冲突。该冲突发生于数据库 'db_library',表 'tb_borrow', column 'bookISBN'。\
return -1; } finally { } }
5.为了避免运行程序时资源浪费,优化项目的运行速度,需要在完成数据库操作后,关闭数据库连接,其关键代码如下: public static void close() { try {
conn.close();
} catch (SQLException e) { e.printStackTrace(); }finally{
conn = null; } }
二:MenuActions类的编写
通常激活同一个命令有多种方式,用户可以通过工具栏中的按钮或菜单选择特定的功能。在本系统中命令就是弹出内部窗体
Swing包提供了一个非常有用的机制来封装命令,并将其连接到多个事件源,这种机制就是Action借口。Action接口有如下方法: Public void actionPerformed(ActionEvent e) Public Object getValue(String key)
Public void putValue(String key,Object value) Public boolean isEnabled()
Public void setEnabled(boolean b)
Pubilc void addPropertyChangeListener(PropertyChangeListener listener) Pinlic void removePropertyChangeListener(PropertyListener listener))
在actinPerformed()方法执行“更改密码”窗体的弹出类中操作,关键代码如
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库java数据库课程设计__图书馆管理系统(3)在线全文阅读。
相关推荐: