Java 图书馆管理系统附全代码 课程设计报告.docx
- 文档编号:27968897
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:110
- 大小:1.28MB
Java 图书馆管理系统附全代码 课程设计报告.docx
《Java 图书馆管理系统附全代码 课程设计报告.docx》由会员分享,可在线阅读,更多相关《Java 图书馆管理系统附全代码 课程设计报告.docx(110页珍藏版)》请在冰豆网上搜索。
Java图书馆管理系统附全代码课程设计报告
《数据库系统概论》课程报告
课题名称:
小型图书管理系统
课题负责人名(学号):
best
同组成员名单(角色):
ﻩ
指导教师:
评阅成绩:
评阅意见:
ﻩ
ﻩ
提交报告时间:
2015年12月15日
小型图书管理系统
计算机科学与技术专业
学生 指导老师
[摘要] 随着计算机技术的飞速发展,利用计算机来获得和处理信息是当今信息管理的一大特点、伴随计算机硬件的快速发展,有关信息管理的软件—-数据库系统软件也在迅猛发展着。
图书馆是高等院校的重要组成部门,是教师和学生获取知识的重要场所。
由于图书馆主要从事大量的图书资料的储存和流通。
因此一直以来,计算机在图书馆的图书管理中得到了广泛的应用。
本系统实现图书信息管理的系统化,规范化和自动化,以最大程度提高操作人员的办公效率。
关键词:
JAVA、JDBC、SQL Server、数据库、图书馆管理
ﻬ
一、实验题目:
小型图书管理系统
二、实验的目的和要求:
完成一个小型图书管理系统,功能要求如下:
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、软件环境:
操作系统:
Windows7Ultimate SP1
编译软件:
EclipseLuna
MicrosoftSQLServer2014
四、系统ER图
五、表结构定义(使用表格说明)
六、系统功能模块
1)能够通过书籍基本信息单个或组合多个条件查询书籍信息;
2)关于每一种书籍,除可查看其基本信息之外还可查看其总数以及目前在馆数量
3)可增添新的书籍
4)可删除已有书籍(如有读者借了该书籍尚未归还,则不允许删除)
5)可修改书籍的基本信息
6)能够通过读者基本信息单个或组合多个条件查询读者信息
7)关于每位读者除可查看其基本信息之外,还可查看其已借的书籍列表、数量、借还日期
8)可增添新的读者
9)可删除已有读者(如该读者有尚未归还的借书,则不允许删除)
10)可修改读者的基本信息
11)可完成借还书籍的手续
12)还书时如超期,应该显示超期天数
13)借书时假如有超期的书没有还,则不允许借书
14)可查询有哪些读者有超期的书没有还,列出这些读者的基本信息
七、程序框架流程图
九、程序运行结果
八、核心代码
AddBook、java
import java、awt、BorderLayout;
importjava、awt、Container;
import java。
awt、GridLayout;
importjava、awt、event。
*;
importjava。
util。
ArrayList;
importjavax、swing、*;
publicclassAddBookextends JFrame implementsActionListener{
ﻩSQLOperationop=newSQLOperation();
Container c = getContentPane();
ﻩJPanelp1=new JPanel();
JLabel bookNumber =newJLabel("Book Number:
");
ﻩJLabelbookName=newJLabel("Book Name:
");
JLabelbookAuthor=newJLabel(”BookAuthor:
");
JLabel press= newJLabel("Press:
");
ﻩJLabelpressTime= newJLabel("Presstime:
");
ﻩJLabelbookAbstract=newJLabel("Abstract:
");
JLabelstorage=new JLabel("Storage:
");
JLabelremain = newJLabel(”Remain”);
ﻩJLabelremain1 =new JLabel(”UpdatewithStorage”);
ﻩJTextFieldnumberField = newJTextField();
JTextFieldnameField= newJTextField();
ﻩJTextFieldauthorField =newJTextField();
ﻩJTextFieldpressField=new JTextField();
JTextFieldpressTimeField=newJTextField();
ﻩJTextFieldabstractField= new JTextField();
ﻩJTextField storageField =newJTextField();
ﻩJButtoncancel=newJButton(”Cancel”);
JButton confirm=newJButton("Confirm!
!
”);
public AddBook() {
ﻩ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(ActionEvent e){
ﻩ// TODOAuto—generatedmethodstub
ﻩﻩif (e、getSource() ==cancel) {
ﻩﻩthis、dispose();
ﻩ}
ﻩﻩif(e。
getSource() ==confirm) {
ﻩﻩﻩthis。
dispose();
ﻩﻩBookInfobook = new BookInfo(numberField、getText(),
ﻩﻩﻩﻩnameField。
getText(),authorField、getText(),
ﻩﻩpressField、getText(),pressTimeField、getText(),
ﻩﻩﻩﻩabstractField。
getText(),Integer、parseInt(storageField
ﻩﻩﻩﻩ、getText()),
ﻩﻩﻩInteger、parseInt(storageField、getText()));
ﻩArrayList<String〉strArray= newArrayList<String>();
ﻩstrArray=op。
addBookJudgement();
ﻩﻩint n =0;
ﻩﻩintreplicate=0;
ﻩﻩwhile(n〈Integer、parseInt(strArray、get(0))){
ﻩﻩn++;
ﻩif(numberField、getText()、equals(strArray、get(n))) {
ﻩﻩﻩﻩﻩreplicate++;
ﻩ}
ﻩﻩ}
ﻩﻩif(replicate==0){
ﻩﻩop、saveBook(book);
ﻩﻩﻩﻩJOptionPane。
showMessageDialog(null,"Add a booksuccessfully!
",
ﻩﻩﻩﻩﻩ”Information", JOptionPane、INFORMATION_MESSAGE);
ﻩﻩ} else {
JOptionPane、showMessageDialog(null,
ﻩ"This book(number)hasalready existed!
","Warning",
ﻩﻩﻩJOptionPane、INFORMATION_MESSAGE);
ﻩ}
}
ﻩ}
}
AddReader、java
import java、awt、BorderLayout;
importjava。
awt、Container;
importjava、awt、GridLayout;
importjava。
awt、event、*;
importjava。
util。
ArrayList;
importjavax。
swing、*;
publicclassAddReaderextendsJFrameimplementsActionListener{
SQLOperation op= newSQLOperation();
ﻩContainerc=getContentPane();
ﻩJPanel p1=new JPanel();
ﻩJLabelreaderNumber=newJLabel(”ReaderNumber:
”);
ﻩJLabelreaderName =newJLabel("ReaderName:
");
ﻩJLabelsex=newJLabel("Sex:
");
ﻩJLabeldpt=newJLabel("Department:
”);
ﻩJLabel grade=newJLabel("Grade:
”);
ﻩJTextField numberField=newJTextField();
ﻩJTextFieldnameField=newJTextField();
JTextField sexField=newJTextField();
JTextFielddptField=new JTextField();
JTextFieldgradeField=new JTextField();
JButtoncancel= newJButton("Cancel");
ﻩJButtonconfirm=new JButton(”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—generatedmethod stub
ﻩﻩif(e、getSource() == cancel){
ﻩﻩthis、dispose();
ﻩﻩ}
if(e、getSource() ==confirm){
ﻩﻩthis、dispose();
ﻩReaderInforeader =new ReaderInfo(numberField。
getText(),
ﻩﻩﻩnameField、getText(), sexField。
getText(),
ﻩﻩﻩﻩdptField、getText(), Integer、parseInt(gradeField、getText()));
ﻩﻩArrayList ﻩﻩstrArray = op。 addReaderJudgement(); int n= 0; ﻩintreplicate =0; while(n < Integer、parseInt(strArray。 get(0))) { ﻩn++; ﻩif(numberField、getText()。 equals(strArray、get(n))){ ﻩﻩreplicate++; ﻩﻩ} } ﻩif(replicate==0){ ﻩﻩif(! sexField、getText()。 equals("boy") ﻩﻩ&& ! sexField。 getText()、equals(”girl")) { ﻩﻩﻩJOptionPane ﻩﻩﻩﻩ、showMessageDialog( ﻩﻩﻩﻩﻩﻩnull, ﻩﻩﻩﻩ"In theSexfield,youcanonlyinput ’boy' or'girl'! ”, ﻩﻩﻩﻩﻩﻩ”Warning", JOptionPane、INFORMATION_MESSAGE); ﻩ}else { ﻩﻩﻩop、saveReader(reader); ﻩﻩJOptionPane、showMessageDialog(null, ﻩﻩﻩ”Adda readersuccessfully! ”,"Information", ﻩﻩﻩJOptionPane、INFORMATION_MESSAGE); ﻩﻩﻩ} ﻩﻩﻩ}else { ﻩJOptionPane、showMessageDialog(null, ﻩﻩ"Thisreader(number) has alreadyexisted! ",”Warning", ﻩﻩﻩJOptionPane。 INFORMATION_MESSAGE); ﻩﻩ} } } } BookDetails、java importjava。 awt。 BorderLayout; import java、awt。 Container; import java。 awt。 Dimension; importjava、awt、GridLayout; import java。 awt、event、*; importjava。 util、ArrayList; importjavax、swing、*; importjavax。 swing、table、DefaultTableModel; publicclassBookDetailsextends JFrameimplements ActionListener{ ﻩSQLOperation op=new SQLOperation(); Container c=getContentPane(); JPanelp1 =new JPanel(); JPanelp2=newJPanel(); JPanelp3=newJPanel(); ﻩJLabelbookNumber=newJLabel("BookNumber: "); JLabel bookName=newJLabel("BookName: ”); ﻩJLabelauthor =newJLabel("Author: ”); JLabelpress =newJLabel("Press: "); ﻩJLabelpressTime =newJLabel(”Presstime: "); ﻩJLabel bookAbstract=new JLabel("Abstract: ”); ﻩJLabel storage=newJLabel(”Storage: "); ﻩJLabelremain =new JLabel(”Remain: "); ﻩJLabelnumberField=new JLabel(); JLabelnameField =new JLabel(); ﻩJLabelauthorField=newJLabel(); JLabelpressField=new JLabel(); ﻩJLabel pressTimeField=newJLabel(); ﻩJLabelabstractField= newJLabel(); ﻩJLabelstorageField=newJLabel(); ﻩJLabelremainField = newJLabel(); ﻩJButton cancel=newJButton("Cancel”); JLabel details =newJLabel("Borrowandreaturndetails"); Object[] s ={”Readernumber”,”Borrowtime","Deadline",”Overtime" }; Object[][]ob1=newObject[7][4]; JTabletable=new JTable(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(int n=0; n 〈7;n++) { ﻩfor(intm=0;m<4; m++){ ﻩﻩﻩob1[n][m]= this。 ob1[n][m]; ﻩﻩ} ﻩﻩﻩtable、setModel(books); ﻩﻩtable。 invalidate(); ﻩ} ﻩ} ﻩArrayList〈String>strArray=new 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(new Dimension(400,100)); ﻩﻩcancel、addActionListener(thisstrArray= newArrayList
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 图书馆管理系统附全代码 课程设计报告 图书馆 管理 系统 代码 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)