基于JAVA的图书管理系统设计说明.docx

上传人:b****6 文档编号:16713199 上传时间:2023-07-16 格式:DOCX 页数:23 大小:163.57KB
下载 相关 举报
基于JAVA的图书管理系统设计说明.docx_第1页
第1页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第2页
第2页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第3页
第3页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第4页
第4页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第5页
第5页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第6页
第6页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第7页
第7页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第8页
第8页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第9页
第9页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第10页
第10页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第11页
第11页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第12页
第12页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第13页
第13页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第14页
第14页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第15页
第15页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第16页
第16页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第17页
第17页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第18页
第18页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第19页
第19页 / 共23页
基于JAVA的图书管理系统设计说明.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于JAVA的图书管理系统设计说明.docx

《基于JAVA的图书管理系统设计说明.docx》由会员分享,可在线阅读,更多相关《基于JAVA的图书管理系统设计说明.docx(23页珍藏版)》请在冰点文库上搜索。

基于JAVA的图书管理系统设计说明.docx

基于JAVA的图书管理系统设计说明

 

《Java核心技术》

综合实验报告

 

课程名称:

Java核心技术

专业:

计算机科学与技术

姓名:

倩竹

学号:

1430110311

指导教师:

王岩

成绩:

完成日期:

2015年12月18日

 

1系统分析与设计

1.1需求分析

图书管理系统是高校图书馆不可缺少的一部分,通过图书管理系统可以实现计算机化的图书借阅管理,能够提供方便快速的图书信息检索功能和便捷的图书借阅和归还功能,并且能够对图书信息和读者信息进行管理,方便管理员和读者的借阅处理。

(本人实现了图书添加、图书查询与修改、图书类别管理、用户添加、用户删除、修改密码功能模块的设计)要求系统具备以下特点。

(1)操作简单、易用。

(2)数据存储可靠,具备较高的处理效率。

(3)系统安全、稳定。

(4)开发技术先进、功能完善、扩展性强。

1.2系统功能设计

根据需求分析,本系统具体的功能模块图如图1.2.1所示。

 

图1.2.1图书借阅系统功能结构图

1.2.1读者信息管理

1、读者信息添加

实现向数据库中添加读者信息的功能。

2、读者信息查询与修改

实现查询指定编号、、类别以及所在部门的读者信息,并对选中的读者信息进行修改操作。

1.2.2图书信息管理

1、图书信息添加

实现向数据库中添加图书信息的功能。

2、图书信息查询与修改

实现查询指定ISBN、图书名称、类别、作者以及的图书信息,并对选中的图书信息进行修改操作。

1.2.3图书借阅管理

1、图书借阅

输入读者的编号以及借阅的图书信息,记录系统当前时间为借阅时间。

2、图书归还

输入读者的编号并选择其名下已借阅的图书,记录系统当前日期为归还时间,判断是否超期并计算罚金。

1.2.4基础信息维护

1、图书类别设置

实现显示数据库中图书类别的功能,并对选中的图书类别进行增、删、改、查功能。

2、读者类别设置

实现显示数据库中读者类别的功能,并对选中的读者类别进行增、删、改、查功能。

3、罚金设置

可以指定超期一天的罚金标准。

1.2.5用户管理

1、修改密码

实现当前用户登陆后,修改用户自己密码的功能。

2、用户添加

实现向数据库中增加用户的功能。

3、用户删除

实现显示数据库中的用户信息,并对选中的用户进行删除的功能。

1.3数据库设计

根据需求分析,创建6个数据表,即图书表、图书类型表、读者表、读者类型表、图书借阅表以及用户表。

1、图书表,表名为book,包括ISBN、图书类型编号、图书名称、作者、、出版日期、印刷次数和单价,其中ISBN为主键,如表1.1所示。

表1.1图书信息表book

列名

数据类型

长度

是否为空

说明

ISBN

char

10

ISBN(主键)

typeid

varchar

10

图书类型编号

bookname

varchar

30

图书名称

author

varchar

30

作者

publish

varchar

30

publishdate

date

出版日期

printtime

int

印刷次数

unitprice

money

单价

图书表数据如图1.3.1所示。

图1.3.1图书表数据

2、图书类型表,表名为booktype,包括图书类型编号、图书类型名称,其中图书类型编号为主键,如表1.2所示。

表1.2图书类型表booktype

列名

数据类型

长度

是否为空

说明

id

int

图书类型编号(主键)

typename

varchar

30

图书类型名称

 

图书类型表数据如图1.3.2所示。

图1.3.2图书类型表数据

 

3、读者表,表名为reader,包括读者编号、读者类型编号、读者、年龄、性别、、所在系部、注册日期,其中读者编号为主键,如表1.3所示。

表1.3读者信息表reader

列名

数据类型

长度

是否为空

说明

readerid

char

8

读者编号(主键)

type

int

读者类型编号

name

char

20

读者

age

int

年龄

sex

char

4

性别

phone

char

11

dept

varchar

20

所在系部

regdate

date

注册日期

读者表数据如图1.3.3所示。

图1.3.3读者表数据

4、读者类型表,表名为readertype,包括读者类型编号、读者类型名称、最多可借图书数量、最长可借阅图书天数,其中读者类型编号为主键,如表1.4所示。

表1.4读者类型表readertype

列名

数据类型

长度

是否为空

说明

id

int

读者类型编号(主键)

typename

varchar

20

读者类型名称

maxborrownum

int

最多可借图书数量

limit

int

最长可借阅图书天数

读者类型表数据如图1.3.4所示。

图1.3.4读者类型表数据

5、用户表,表名为users,包括用户编号、用户名称、用户密码,其中用户编号为主键,如表1.5所示。

表1.5用户信息表users

列名

数据类型

长度

是否为空

说明

id

int

用户编号(主键)

name

varchar

20

用户名称

password

varchar

20

用户密码

用户表数据如图1.3.5所示。

图1.3.5用户表数据

6、图书借阅表,表名为borrowbook,包括读者编号、ISBN、借书日期、还书日期、罚金,其中读者编号和ISBN为联合主键,如表1.6所示。

表1.6图书借阅表borrowbook

列名

数据类型

长度

是否为空

说明

readerid

char

8

读者编号(主键)

ISBN

char

10

ISBN(主键)

borrowdate

date

借书日期

returndate

date

还书日期

fine

money

罚金

图书借阅表数据如图1.3.6所示。

图1.3.6图书借阅表数据

2系统实现

2.1系统框架

项目分为model、view、db三个包,具体项目架构的设计如图2.1.1所示。

图2.1.1图书借阅表数据

1、在com.bbm.model包中创建图书借阅管理系统中的实体类:

Book类,BookType类,Reader类,ReaderType类,Users类,BorrowBook类,如表2.1所示。

表2.1实体类表com.bbm.model

文件名

说明

Book.java

图书类模型

BookType.java

图书类型类模型

BorrowBook.java

图书借阅类模型

Reader.java

读者类模型

ReaderType.java

读者类型类模型

Users.java

用户类模型

2、在com.bbm.view包中创建图书借阅管理系统中的界面及功能类,如表2.2所示。

表2.2界面类表com.bbm.view

文件名

说明

Login.java

登陆界面及功能

Library.java

系统主界面及功能

BookAdd.java

图书添加界面及功能

BookBorrow.java

图书借阅界面及功能

BookReturn.java

图书归还界面及功能

BookSelectandUpdate.java

图书查询与修改界面及功能

BooktypeAdm.java

图书类型管理界面及功能

ReaderAdd.java

读者添加界面及功能

ReaderSelectandUpdate.java

读者查询与修改界面及功能

ReadertypeAdm.java

读者类型管理界面及功能

UserAdd.java

用户添加界面及功能

UserDelete.java

用户删除界面及功能

PasswordChange.java

修改密码界面及功能

FineSet.java

罚金设置界面及功能

3、在com.bbm.db包中创建图书借阅管理系统中的数据访问操作类,如表2.3所示。

表2.3数据访问操作类表com.bbm.db

文件名

说明

Dao.java

基本数据访问操作类

ReaderDao.java

读者操作类

BookDao.java

图书操作类

ReaderTypeDao.java

读者类型操作类

BookTypeDao.java

图书类型操作类

BookBorrowDao.java

图书借阅操作类

UserDao.java

用户操作类

2.2图书类型管理模块的实现

2.2.1图书类型管理模块界面的设计与实现

图书类型管理模块界面的实现分为三个面板,图书类型查询面板(selectjp),其中包含查询结果面板(jspjp)位于selectjp中部,selectjp整体位于整个JFrame的北部,修改信息面板(infojp)位于整个JFrame中部,按钮面板(buttonjp)位于整个JFrame南部。

如图2.2.1所示。

图2.2.1图书类型管理模块界面

主要代码如下:

selectjp.add(jspjp,BorderLayout.CENTER);

this.add(selectjp,BorderLayout.NORTH);

this.add(infojp,BorderLayout.CENTER);

this.add(buttonjp,BorderLayout.SOUTH);

2.2.2图书类型管理模块数据操作的设计与实现

本模块需要进行的数据操作如下:

1、获取数据库中图书类型表中的数据

主要代码如下:

publicstaticListselectBookType(){

Listlist=newArrayList();

Stringsql="select*frombooktype";

ResultSetrs=Dao.executeQuery(sql);

try{

while(rs.next()){

BookTypebt=newBookType();

bt.setId(rs.getInt("id"));

bt.setTypename(rs.getString("typename"));

list.add(bt);

}

}catch(Exceptione){

e.printStackTrace();

}

Dao.close();

returnlist;

}

2、对指定的图书类型的图书信息进行查询

主要代码如下:

publicstaticListselectBookTypeName(Stringtype){

Listlist=newArrayList();

Stringsql="select*frombooktypewheretypenamelike'%"+type+"%'";

ResultSetrs=Dao.executeQuery(sql);

try{

while(rs.next()){

BookTypebt=newBookType();

bt.setId(rs.getInt("id"));

bt.setTypename(rs.getString("typename"));

list.add(bt);

}

}catch(Exceptione){

e.printStackTrace();

}

Dao.close();

returnlist;

}

3、对其进行添加操作

主要代码如下:

publicstaticintinsertBookType(Stringbtno,Stringtypename){

inti=0;

try{

Stringsql="insertintobooktypevalues("+btno+",'"+typename+"')";

i=Dao.executeUpdate(sql);

}catch(Exceptione){

e.printStackTrace();

}

Dao.close();

returni;

}

4、对其进行修改操作

代码同3,具体sql语句如下:

Stringsql="updatebooktypesetid="+btno+",typename='"+typename+"'whereid="+btno+"";

5、对其进行删除操作

代码同3,具体sql语句如下:

Stringsql="deletefrombooktypewhereid="+id+"";

2.2.3图书类型管理模块功能的设计与实现

本模块实现的功能如下:

1、获取数据库中图书类型表中的数据到JTable中,并添加鼠标监听如上图2.2.1所示。

主要代码为:

Object[][]results=getSelect(BookTypeDao.selectBookType());//显示图书类别信息

//添加鼠标监听

classTableListenerextendsMouseAdapter{

Override

publicvoidmouseClicked(MouseEvente){

intselRow=jt.getSelectedRow();//获取选择表中的某一行保存信息

btnojtf.setText(jt.getValueAt(selRow,0).toString().trim());//获取列并赋值

btnamejtf.setText(jt.getValueAt(selRow,1).toString().trim());

}

}

2、对查询按钮添加监听器(SelectAction),对图书类别进行模糊查询,如图2.2.2所示。

 

图2.2.2查询功能的实现

主要代码为:

classSelectActionimplementsActionListener{

Override

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

Stringbtname=btjtf.getText().trim();

BookTypeDao.selectBookTypeName(btname);

Object[][]results=getSelect(BookTypeDao.selectBookTypeName(btname));

jt=newJTable(results,readersearch);

jsp.setViewportView(jt);

jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

}

}

3、对添加按钮添加监听器(AddAction),向图书类别表中添加新的图书类别信息,例如:

添加编号为“8”,名称为“化学”的图书类别信息,如图2.2.3

(1)所示。

4、

图2.2.3

(1)添加成功

更新后,如图2.2.3

(2)所示。

图2.2.3

(2)添加功能的实现

主要代码为:

classAddActionimplementsActionListener{

Override

publicvoidactionPerformed(ActionEvente){

if(btnojtf.getText().length()==0){

JOptionPane.showMessageDialog(null,"图书类型编号不能为空!

");

return;

}

if(btnamejtf.getText().length()==0){

JOptionPane.showMessageDialog(null,"图书类型名称不能为空!

");

return;

}

Stringbtno=btnojtf.getText().trim();

Stringbtname=(String)btnamejtf.getText().trim();

inti=BookTypeDao.insertBookType(btno,btname);

if(i==1){

JOptionPane.showMessageDialog(null,"添加成功");

Object[][]results=getSelect(BookTypeDao.selectBookType());

jt=newJTable(results,readersearch);

jsp.setViewportView(jt);

jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

}

}

}

5、对修改按钮添加监听器(UpdateAction),修改图书类别表息,例如将刚刚添加的“化学”修改为“生物”,如图2.2.4

(1)所示。

 

图2.2.4

(1)修改成功

更新后,如图2.2.4

(2)所示。

图2.2.4

(2)修改功能的实现

主要代码为:

classUpdateActionimplementsActionListener{

Override

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

Stringbtno=btnojtf.getText().trim();

Stringbtname=btnamejtf.getText().trim();

inti=BookTypeDao.updateBookType(btno,btname);

System.out.println(i);

if(i==1){

JOptionPane.showMessageDialog(null,"修改成功");

Object[][]results=getSelect(BookTypeDao.selectBookType());

jt=newJTable(results,readersearch);

jsp.setViewportView(jt);

jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

}

}

}

 

6、对删除按钮添加监听器(DeleteAction),删除图书类别表息,例如将刚刚修改的“生物”删除,如图2.2.5

(1)所示。

图2.2.5

(1)删除成功

更新后,如图2.2.5

(2)所示。

图2.2.5

(2)删除功能的实现

主要代码为:

classDeleteActionimplementsActionListener{

Override

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

Stringbtno=btnojtf.getText().trim();

inti=BookTypeDao.deleteBookType(btno);

System.out.println(i);

if(i==1){

JOptionPane.showMessageDialog(null,"删除成功!

");

Object[][]results=getSelect(BookTypeDao.selectBookType());

jt=newJTable(results,readersearch);

jsp.setViewportView(jt);

jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

}

}

}

6、对退出按钮添加监听器(OutAction),实现关闭程序功能。

主要代码如下:

classOutActionimplementsActionListener{

Override

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

setVisible(false);

}

2.3用户添加模块的实现

2.3.1用户添加模块界面的设计与实现

用户添加模块界面的实现分为两个面板,用户添加信息面板(jp1,一个2行两列的表格)位于整个JFrame的中部,按钮面板(buttonjp)位于整个JFrame的南部。

如图2.3.1所示。

图2.3.1用户添加模块界面

主要代码如下:

jp1.setLayout(newGridLayout(2,2));

this.add(jp1,BorderLayout.CENTER);

this.add(buttonjp,BorderLayout.SOUTH);

2.3.2用户添加模块数据操作的设计与实现

用户添加模块需要进行的数据操作为向数据库的用户表中添加用名和密码。

主要代码如下:

publicstaticintinsertUser(Stringname,Stringpwd){

inti=0;

try{

Stringsql="insertintousers(name,password)values('"+name+"','"+pwd+"')";

i=Dao.executeUpdate(sql);

}catch(Exceptione){

e.printStackTrace();

}

Dao.close();

returni;

}

2.2.3用户添加模块功能的设计与

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2