Java图书馆管理系统附全代码课程设计报告精编WORD版.docx
- 文档编号:1575574
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:86
- 大小:59.96KB
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx
《Java图书馆管理系统附全代码课程设计报告精编WORD版.docx》由会员分享,可在线阅读,更多相关《Java图书馆管理系统附全代码课程设计报告精编WORD版.docx(86页珍藏版)》请在冰点文库上搜索。
Java图书馆管理系统附全代码课程设计报告精编WORD版
IBMsystemofficeroom【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】
Java图书馆管理系统附全代码课程设计报告精编WORD版
《数据库系统概论》课程报告
课题名称:
小型图书管理系统
课题负责人名(学号):
best
同组成员名单(角色):
指导教师:
评阅成绩:
评阅意见:
提交报告时间:
2015年12月15日
小型图书管理系统
计算机科学与技术专业
学生指导老师
[摘要]随着计算机技术的飞速发展,利用计算机来获得和处理信息是当今信息管理的一大特点。
伴随计算机硬件的快速发展,有关信息管理的软件——数据库系统软件也在迅猛发展着。
图书馆是高等院校的重要组成部门,是教师和学生获取知识的重要场所。
由于图书馆主要从事大量的图书资料的储存和流通。
所以一直以来,计算机在图书馆的图书管理中得到了广泛的应用。
本系统实现图书信息管理的系统化,规范化和自动化,以最大程度提高操作人员的办公效率。
关键词:
JAVA、JDBC、SQLServer、数据库、图书馆管理
一、实验题目:
小型图书管理系统
二、实验的目的和要求:
完成一个小型图书管理系统,功能要求如下:
1)能够通过书籍基本信息(包括:
书号、书名、出版社、出版日期、作者、内容摘要)单个或以AND方式组合多个条件查询书籍信息;
2)对于每一种书籍,除可查看其基本信息之外还可查看其总数以及目前在馆数量
3)可增添新的书籍
4)可删除已有书籍(如有读者借了该书籍尚未归还,则不允许删除)
5)可修改书籍的基本信息
6)能够通过读者基本信息(包括:
证号、姓名、性别、系名、年级)单个或以AND方式组合多个条件查询读者信息
7)对于每位读者除可查看其基本信息之外,还可查看其已借的书籍列表、数量、借还日期
8)可增添新的读者
9)可删除已有读者(如该读者有尚未归还的借书,则不允许删除)
10)可修改读者的基本信息
11)可完成借还书籍的手续
12)还书时如超期,应该显示超期天数
13)借书时如果有超期的书没有还,则不允许借书
14)可查询有哪些读者有超期的书没有还,列出这些读者的基本信息
三、实验的环境:
1、硬件环境:
CPU:
Intel(R)Corei5-32302.60GHz
RAM:
8GB
2、软件环境:
操作系统:
Windows7UltimateSP1
编译软件:
EclipseLuna
MicrosoftSQLServer2014
四、系统ER图
五、表结构定义(使用表格说明)
六、系统功能模块
1)能够通过书籍基本信息单个或组合多个条件查询书籍信息;
2)对于每一种书籍,除可查看其基本信息之外还可查看其总数以及目前在馆数量
3)可增添新的书籍
4)可删除已有书籍(如有读者借了该书籍尚未归还,则不允许删除)
5)可修改书籍的基本信息
6)能够通过读者基本信息单个或组合多个条件查询读者信息
7)对于每位读者除可查看其基本信息之外,还可查看其已借的书籍列表、数量、借还日期
8)可增添新的读者
9)可删除已有读者(如该读者有尚未归还的借书,则不允许删除)
10)可修改读者的基本信息
11)可完成借还书籍的手续
12)还书时如超期,应该显示超期天数
13)借书时如果有超期的书没有还,则不允许借书
14)可查询有哪些读者有超期的书没有还,列出这些读者的基本信息
七、程序框架流程图
九、程序运行结果
八、核心代码
AddBook.java
importjava.awt.BorderLayout;
importjava.awt.Container;
importjava.awt.GridLayout;
importjava.awt.event.*;
importjava.util.ArrayList;
importjavax.swing.*;
publicclassAddBookextendsJFrameimplementsActionListener{
SQLOperationop=newSQLOperation();
Containerc=getContentPane();
JPanelp1=newJPanel();
JLabelbookNumber=newJLabel("BookNumber:
");
JLabelbookName=newJLabel("BookName:
");
JLabelbookAuthor=newJLabel("BookAuthor:
");
JLabelpress=newJLabel("Press:
");
JLabelpressTime=newJLabel("Presstime:
");
JLabelbookAbstract=newJLabel("Abstract:
");
JLabelstorage=newJLabel("Storage:
");
JLabelremain=newJLabel("Remain");
JLabelremain1=newJLabel("UpdatewithStorage");
JTextFieldnumberField=newJTextField();
JTextFieldnameField=newJTextField();
JTextFieldauthorField=newJTextField();
JTextFieldpressField=newJTextField();
JTextFieldpressTimeField=newJTextField();
JTextFieldabstractField=newJTextField();
JTextFieldstorageField=newJTextField();
JButtoncancel=newJButton("Cancel");
JButtonconfirm=newJButton("Confirm!
!
");
publicAddBook(){
c.add(p1,BorderLayout.NORTH);
p1.setLayout(newGridLayout(9,2,20,10));
p1.add(bookNumber);
p1.add(numberField);
p1.add(bookName);
p1.add(nameField);
p1.add(bookAuthor);
p1.add(authorField);
p1.add(press);
p1.add(pressField);
p1.add(pressTime);
p1.add(pressTimeField);
p1.add(bookAbstract);
p1.add(abstractField);
p1.add(storage);
p1.add(storageField);
p1.add(remain);
p1.add(remain1);
p1.add(cancel);
p1.add(confirm);
cancel.addActionListener(this);
confirm.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
if(e.getSource()==cancel){
this.dispose();
}
if(e.getSource()==confirm){
this.dispose();
BookInfobook=newBookInfo(numberField.getText(),
nameField.getText(),authorField.getText(),
pressField.getText(),pressTimeField.getText(),
abstractField.getText(),Integer.parseInt(storageField
.getText()),
Integer.parseInt(storageField.getText()));
ArrayList
strArray=op.addBookJudgement();
intn=0;
intreplicate=0;
while(n n++; if(numberField.getText().equals(strArray.get(n))){ replicate++; } } if(replicate==0){ op.saveBook(book); JOptionPane.showMessageDialog(null,"Addabooksuccessfully! ", "Information",JOptionPane.INFORMATION_MESSAGE); }else{ JOptionPane.showMessageDialog(null, "Thisbook(number)hasalreadyexisted! ","Warning", JOptionPane.INFORMATION_MESSAGE); } } } } AddReader.java importjava.awt.BorderLayout; importjava.awt.Container; importjava.awt.GridLayout; importjava.awt.event.*; importjava.util.ArrayList; importjavax.swing.*; publicclassAddReaderextendsJFrameimplementsActionListener{ SQLOperationop=newSQLOperation(); Containerc=getContentPane(); JPanelp1=newJPanel(); JLabelreaderNumber=newJLabel("ReaderNumber: "); JLabelreaderName=newJLabel("ReaderName: "); JLabelsex=newJLabel("Sex: "); JLabeldpt=newJLabel("Department: "); JLabelgrade=newJLabel("Grade: "); JTextFieldnumberField=newJTextField(); JTextFieldnameField=newJTextField(); JTextFieldsexField=newJTextField(); JTextFielddptField=newJTextField(); JTextFieldgradeField=newJTextField(); JButtoncancel=newJButton("Cancel"); JButtonconfirm=newJButton("Confirm! ! "); publicAddReader(){ c.add(p1,BorderLayout.NORTH); p1.setLayout(newGridLayout(6,2,20,10)); p1.add(readerNumber); p1.add(numberField); p1.add(readerName); p1.add(nameField); p1.add(sex); p1.add(sexField); p1.add(dpt); p1.add(dptField); p1.add(grade); p1.add(gradeField); p1.add(cancel); p1.add(confirm); cancel.addActionListener(this); confirm.addActionListener(this); } publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstub if(e.getSource()==cancel){ this.dispose(); } if(e.getSource()==confirm){ this.dispose(); ReaderInforeader=newReaderInfo(numberField.getText(), nameField.getText(),sexField.getText(), dptField.getText(),Integer.parseInt(gradeField.getText())); ArrayList strArray=op.addReaderJudgement(); intn=0; intreplicate=0; while(n n++; if(numberField.getText().equals(strArray.get(n))){ replicate++; } } if(replicate==0){ if(! sexField.getText().equals("boy") &&! sexField.getText().equals("girl")){ JOptionPane .showMessageDialog( null, "IntheSexfield,youcanonlyinput'boy'or'girl'! ", "Warning",JOptionPane.INFORMATION_MESSAGE); }else{ op.saveReader(reader); JOptionPane.showMessageDialog(null, "Addareadersuccessfully! ","Information", JOptionPane.INFORMATION_MESSAGE); } }else{ JOptionPane.showMessageDialog(null, "Thisreader(number)hasalreadyexisted! ","Warning", JOptionPane.INFORMATION_MESSAGE); } } } } BookDetails.java importjava.awt.BorderLayout; importjava.awt.Container; importjava.awt.Dimension; importjava.awt.GridLayout; importjava.awt.event.*; importjava.util.ArrayList; importjavax.swing.*; importjavax.swing.table.DefaultTableModel; publicclassBookDetailsextendsJFrameimplementsActionListener{ SQLOperationop=newSQLOperation(); Containerc=getContentPane(); JPanelp1=newJPanel(); JPanelp2=newJPanel(); JPanelp3=newJPanel(); JLabelbookNumber=newJLabel("BookNumber: "); JLabelbookName=newJLabel("BookName: "); JLabelauthor=newJLabel("Author: "); JLabelpress=newJLabel("Press: "); JLabelpressTime=newJLabel("Presstime: "); JLabelbookAbstract=newJLabel("Abstract: "); JLabelstorage=newJLabel("Storage: "); JLabelremain=newJLabel("Remain: "); JLabelnumberField=newJLabel(); JLabelnameField=newJLabel(); JLabelauthorField=newJLabel(); JLabelpressField=newJLabel(); JLabelpressTimeField=newJLabel(); JLabelabstractField=newJLabel(); JLabelstorageField=newJLabel(); JLabelremainField=newJLabel(); JButtoncancel=newJButton("Cancel"); JLabeldetails=newJLabel("Borrowandreaturndetails"); Object[]s={"Readernumber","Borrowtime","Deadline","Overtime"}; Object[][]ob1=newObject[7][4]; JTabletable=newJTable(ob1,s); JScrollPanescrollPane=newJScrollPane(table); publicBookDetails(Stringnumber){ BookInfobook=newBookInfo(number); ob1=op.borrowListForBook(number); for(inti=0;i<5;i++){ DefaultTableModelbooks=newDefaultTableModel(ob1,s); for(intn=0;n<7;n++){ for(intm=0;m<4;m++){ ob1[n][m]=this.ob1[n][m]; } table.setModel(books); table.invalidate(); } } ArrayList strArray=op.outputBook(book); numberField.setText(number); nameField.setText(strArray.get (1)); authorField.setText(strArray.get (2)); pressField.setText(strArray.get(3)); pressTimeField.setText(strArray.get(4)); abstractField.setText(strArray.get(5)); storageField.setText(strArray.get(6)); remainField.setText(strArray.get(7)); c.add(p1,BorderLayout.NORTH); c.add(p2,BorderLayout.CENTER); c.add(p3,BorderLayout.SOUTH); p1.setLayout(newGridLayout(9,2,20,10)); p1.add(bookNumber); p1.add(numberField); p1.add(bookName); p1.add(nameField); p1.add(author); p1.add(authorField); p1.add(press); p1.add(pressField); p1.add(pressTime); p1.add(pressTimeField); p1.add(bookAbstract); p1.add(abstractField); p1.add(storage); p1.add(storageField); p1.add(remain); p1.add(remainField); p1.add(details); scrollPane.setBounds(0,0,800,300); p2.add(scrollPane); p3.add(cancel); table.setPreferredScrollableViewportSize(newDimension(400,100)); cancel.addActionListener(this);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 图书馆 管理 系统 代码 课程设计 报告 精编 WORD