基于JAVA的图书管理系统Word文档下载推荐.docx
- 文档编号:22636168
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:24
- 大小:198.72KB
基于JAVA的图书管理系统Word文档下载推荐.docx
《基于JAVA的图书管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于JAVA的图书管理系统Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。
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
30
图书名称
author
作者
publish
出版社
publishdate
date
—
出版日期
printtime
int
印刷次数
unitprice
money
单价
图书表数据如图1.3.1所示。
图1.3.1图书表数据
2、图书类型表,表名为booktype,包括图书类型编号、图书类型名称,其中图书类型编号为主键,如表1.2所示。
表1.2图书类型表booktype
id
图书类型编号(主键)
typename
图书类型名称
图书类型表数据如图1.3.2所示。
图1.3.2图书类型表数据
3、读者表,表名为reader,包括读者编号、读者类型编号、读者姓名、年龄、性别、电话、所在系部、注册日期,其中读者编号为主键,如表1.3所示。
表1.3读者信息表reader
readerid
8
读者编号(主键)
type
—
读者类型编号
name
20
读者姓名
age
年龄
sex
4
性别
phone
11
电话
dept
所在系部
regdate
注册日期
读者表数据如图1.3.3所示。
图1.3.3读者表数据
4、读者类型表,表名为readertype,包括读者类型编号、读者类型名称、最多可借图书数量、最长可借阅图书天数,其中读者类型编号为主键,如表1.4所示。
表1.4读者类型表readertype
读者类型编号(主键)
读者类型名称
maxborrownum
最多可借图书数量
limit
最长可借阅图书天数
读者类型表数据如图1.3.4所示。
图1.3.4读者类型表数据
5、用户表,表名为users,包括用户编号、用户名称、用户密码,其中用户编号为主键,如表1.5所示。
表1.5用户信息表users
id
用户编号(主键)
用户名称
password
用户密码
用户表数据如图1.3.5所示。
图1.3.5用户表数据
6、图书借阅表,表名为borrowbook,包括读者编号、ISBN、借书日期、还书日期、罚金,其中读者编号和ISBN为联合主键,如表1.6所示。
表1.6图书借阅表borrowbook
borrowdate
借书日期
returndate
还书日期
fine
罚金
图书借阅表数据如图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、获取数据库中图书类型表中的数据
publicstaticList<
BookType>
selectBookType(){
List<
list=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、对指定的图书类型的图书信息进行查询
selectBookTypeName(Stringtype){
select*frombooktypewheretypenamelike'
%"
+type+"
%'
"
}
3、对其进行添加操作
publicstaticintinsertBookType(Stringbtno,Stringtypename){
inti=0;
Stringsql="
insertintobooktypevalues("
+btno+"
'
+typename+"
'
)"
i=Dao.executeUpdate(sql);
}catch(Exceptione){
e.printStackTrace();
}
Dao.close();
returni;
4、对其进行修改操作
代码同3,具体sql语句如下:
Stringsql="
updatebooktypesetid="
typename='
whereid="
5、对其进行删除操作
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{
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{
if(btnojtf.getText().length()==0){
JOptionPane.showMessageDialog(null,"
图书类型编号不能为空!
);
return;
if(btnamejtf.getText().length()==0){
图书类型名称不能为空!
Stringbtno=btnojtf.getText().trim();
Stringbtname=(String)btnamejtf.getText().trim();
inti=BookTypeDao.insertBookType(btno,btname);
if(i==1){
添加成功"
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{
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);
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{
inti=BookTypeDao.deleteBookType(btno);
if(i==1){
删除成功!
6、对退出按钮添加监听器(OutAction),实现关闭程序功能。
classOutActionimplementsActionListener{
@Override
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);
2.3.2用户添加模块数据操作的设计与实现
用户添加模块需要进行的数据操作为向数据库的用户表中添加用名和密码。
主要代码如下:
publicstaticintinsertUser(Stringname,Stringpwd){
insertintousers(name,password)values('
+name+"
+pwd+"
i=Dao.executeUpdate(sql);
ret
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JAVA 图书 管理 系统