java数据库课程设计__图书馆管理系统(3)

2019-01-26 12:55

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()方法执行“更改密码”窗体的弹出类中操作,关键代码如


java数据库课程设计__图书馆管理系统(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:C语言缺陷与陷阱(笔记)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: