Java图书馆管理系统(附全代码)_课程设计报告.pdf

上传人:赵** 文档编号:60871251 上传时间:2022-11-18 格式:PDF 页数:19 大小:1.45MB
返回 下载 相关 举报
Java图书馆管理系统(附全代码)_课程设计报告.pdf_第1页
第1页 / 共19页
Java图书馆管理系统(附全代码)_课程设计报告.pdf_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《Java图书馆管理系统(附全代码)_课程设计报告.pdf》由会员分享,可在线阅读,更多相关《Java图书馆管理系统(附全代码)_课程设计报告.pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库系统概论课程报告数据库系统概论课程报告课题名称:课题名称:小型图书管理系统小型图书管理系统课题负责人名(学号):best同组成员名单(角色):指导教师:评阅成绩:评阅成绩:评阅意见:提交报告时间:2015 年 12 月 15 日小型图书管理系统小型图书管理系统计算机科学与技术 专业学生学生指导老师指导老师 摘要摘要 随着计算机技术的飞速发展,利用计算机来获得和处理信息是当今信息管理的一大特点。伴随计算机硬件的快速发展,有关信息管理的软件数据库系统软件也在迅猛发展着。图书馆是高等院校的重要组成部门,是教师和学生获取知识的重要场所。由于图书馆主要从事大量的图书资料的储存和流通。所以一直以来,

2、计算机在图书馆的图书管理中得到了广泛的应用。本系统实现图书信息管理的系统化,规范化和自动化,以最大程度提高操作人员的办公效率。1/1关键词:JAVA、JDBC、SQL Server、数据库、图书馆管理1/1一、实验题目:小型图书管理系统二、实验的目的和要求:完成一个小型图书管理系统,功能要求如下:1)能够通过书籍基本信息(包括:书号、书名、出版社、出版日期、作者、内容摘要)单个或以 AND 方式组合多个条件查询书籍信息;2)对于每一种书籍,除可查看其基本信息之外还可查看其总数以及目前在馆数量3)可增添新的书籍4)可删除已有书籍(如有读者借了该书籍尚未归还,则不允许删除)5)可修改书籍的基本信息

3、6)能够通过读者基本信息(包括:证号、姓名、性别、系名、年级)单个或以AND 方式组合多个条件查询读者信息7)对于每位读者除可查看其基本信息之外,还可查看其已借的书籍列表、数量、借还日期8)可增添新的读者9)可删除已有读者(如该读者有尚未归还的借书,则不允许删除)10)11)12)13)14)可修改读者的基本信息可完成借还书籍的手续还书时如超期,应该显示超期天数借书时如果有超期的书没有还,则不允许借书可查询有哪些读者有超期的书没有还,列出这些读者的基本信息三、实验的环境:1、硬件环境:CPU:Intel(R)Core i5-3230 2.60GHz RAM:8GB2、软件环境:操作系统:Win

4、dows 7 Ultimate SP1编译软件:Eclipse Luna Microsoft SQL Server 2014四、系统 ER 图1/1添加读者删除读者删除图书修改读者添加图书用户名密码权限修改图书拥有管理员编号书名编号姓名性别年级管理管理作者出版社读者借阅图书出版时间摘要总量系名超期时间应还时间借阅时间现存量五、表结构定义(使用表格说明)1/11/11/1六、系统功能模块1)能够通过书籍基本信息单个或组合多个条件查询书籍信息;2)对于每一种书籍,除可查看其基本信息之外还可查看其总数以及目前在馆数量3)可增添新的书籍4)可删除已有书籍(如有读者借了该书籍尚未归还,则不允许删除)5)

5、可修改书籍的基本信息6)能够通过读者基本信息单个或组合多个条件查询读者信息7)对于每位读者除可查看其基本信息之外,还可查看其已借的书籍列表、数量、借还日期8)可增添新的读者9)可删除已有读者(如该读者有尚未归还的借书,则不允许删除)10)11)12)可修改读者的基本信息可完成借还书籍的手续还书时如超期,应该显示超期天数1/113)14)借书时如果有超期的书没有还,则不允许借书可查询有哪些读者有超期的书没有还,列出这些读者的基本信息七、程序框架流程图九、程序运行结果登录主界面图书管理读者管理借阅列表增加书籍编辑书籍删除书籍组合查询借阅书籍归还书籍增加读者编辑读者删除读者组合查询详细信息详细信息1

6、/11/11/1八、核心代码1/1AddBook.javaAddBook.javaimportimport java.awt.BorderLayout;importimport java.awt.Container;importimport java.awt.GridLayout;importimport java.awt.event.*;importimport java.util.ArrayList;importimport javax.swing.*;publicpublic classclass AddBook extendsextends JFrame implementsimple

7、ments ActionListener SQLOperation op=newnew SQLOperation();Container c=getContentPane();JPanel p1=newnew JPanel();JLabel bookNumber=newnew JLabel(Book Number:);JLabel bookName=newnew JLabel(Book Name:);JLabel bookAuthor=newnew JLabel(Book Author:);JLabel press=newnew JLabel(Press:);JLabel pressTime=

8、newnew JLabel(Press time:);JLabel bookAbstract=newnew JLabel(Abstract:);JLabel storage=newnew JLabel(Storage:);JLabel remain=newnew JLabel(Remain);JLabel remain1=newnew JLabel(Update with Storage);JTextField numberField=newnew JTextField();JTextField nameField=newnew JTextField();1/1JTextField autho

9、rField=newnew JTextField();JTextField pressField=newnew JTextField();JTextField pressTimeField=newnew JTextField();JTextField abstractField=newnew JTextField();JTextField storageField=newnew JTextField();JButton cancel=newnew JButton(Cancel);JButton confirm=newnew JButton(Confirm!);publicpublic AddB

10、ook()c.add(p1,BorderLayout.NORTHNORTH);p1.setLayout(newnew GridLayout(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(abst

11、ractField);p1.add(storage);p1.add(storageField);p1.add(remain);p1.add(remain1);p1.add(cancel);p1.add(confirm);publicpublic voidvoid actionPerformed(ActionEvent e)/TODOTODO Auto-generated method stubifif(e.getSource()=cancel)thisthis.dispose();ifif(e.getSource()=confirm)thisthis.dispose();BookInfo bo

12、ok=newnew BookInfo(numberField.getText(),nameField.getText(),authorField.getText(),pressField.getText(),pressTimeField.getText(),abstractField.getText(),Integer.parseInt(storageField.getText(),Integer.parseInt(storageField.getText();ArrayList strArray=newnew ArrayList();strArray=op.addBookJudgement(

13、);intint n=0;intint replicate=0;whilewhile(n Integer.parseInt(strArray.get(0)n+;ifif(numberField.getText().equals(strArray.get(n)replicate+;1/1cancel.addActionListener(thisthis);confirm.addActionListener(thisthis);,Warning,ifif(replicate=0)op.saveBook(book);JOptionPane.showMessageDialog(nullnull,Add

14、 a book successfully!Information,JOptionPane.INFORMATION_MESSAGEINFORMATION_MESSAGE);elseelse JOptionPane.showMessageDialog(nullnull,This book(number)has already existed!,JOptionPane.INFORMATION_MESSAGEINFORMATION_MESSAGE);AddReader.javaimportimport java.awt.BorderLayout;importimport java.awt.Contai

15、ner;importimport java.awt.GridLayout;importimport java.awt.event.*;importimport java.util.ArrayList;importimport javax.swing.*;publicpublic classclass AddReader extendsextends JFrame implementsimplements ActionListener SQLOperation op=newnew SQLOperation();Container c=getContentPane();JPanel p1=newn

16、ew JPanel();JLabel readerNumber=newnew JLabel(Reader Number:);JLabel readerName=newnew JLabel(Reader Name:);JLabel sex=newnew JLabel(Sex:);JLabel dpt=newnew JLabel(Department:);JLabel grade=newnew JLabel(Grade:);JTextField numberField=newnew JTextField();JTextField nameField=newnew JTextField();JTex

17、tField sexField=newnew JTextField();JTextField dptField=newnew JTextField();JTextField gradeField=newnew JTextField();JButton cancel=newnew JButton(Cancel);JButton confirm=newnew JButton(Confirm!);publicpublic AddReader()c.add(p1,BorderLayout.NORTHNORTH);p1.setLayout(newnew GridLayout(6,2,20,10);p1.

18、add(readerNumber);p1.add(numberField);p1.add(readerName);1/1p1.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(thisthis);confirm.addActionListener(thisthis);publicpublic voidvoid actionP

19、erformed(ActionEvent e)/TODOTODO Auto-generated method stubifif(e.getSource()=cancel)thisthis.dispose();ifif(e.getSource()=confirm)thisthis.dispose();ReaderInfo reader=newnew ReaderInfo(numberField.getText(),nameField.getText(),sexField.getText(),dptField.getText(),Integer.parseInt(gradeField.getTex

20、t();ArrayList strArray=newnew ArrayList();strArray=op.addReaderJudgement();intint n=0;intint replicate=0;whilewhile(n Integer.parseInt(strArray.get(0)n+;ifif(numberField.getText().equals(strArray.get(n)replicate+;ifif(replicate=0)ifif(!sexField.getText().equals(boy)&!sexField.getText().equals(girl)J

21、OptionPane.showMessageDialog(nullnull,In the Sex field,you canonly input boy or girl!,Warning,JOptionPane.INFORMATION_MESSAGEINFORMATION_MESSAGE);elseelse op.saveReader(reader);JOptionPane.showMessageDialog(nullnull,Add a reader successfully!,Information,JOptionPane.INFORMATION_MESSAGEINFORMATION_ME

22、SSAGE);elseelse JOptionPane.showMessageDialog(nullnull,This reader(number)has already existed!,1/1Warning,JOptionPane.INFORMATION_MESSAGEINFORMATION_MESSAGE);BookDetails.javaimportimport java.awt.BorderLayout;importimport java.awt.Container;importimport java.awt.Dimension;importimport java.awt.GridL

23、ayout;importimport java.awt.event.*;importimport java.util.ArrayList;importimport javax.swing.*;importimport javax.swing.table.DefaultTableModel;publicpublic classclass BookDetails extendsextends JFrame implementsimplements ActionListener SQLOperation op=newnew SQLOperation();Container c=getContentP

24、ane();JPanel p1=newnew JPanel();JPanel p2=newnew JPanel();JPanel p3=newnew JPanel();JLabel bookNumber=newnew JLabel(Book Number:);JLabel bookName=newnew JLabel(Book Name:);JLabel author=newnew JLabel(Author:);JLabel press=newnew JLabel(Press:);JLabel pressTime=newnew JLabel(Press time:);JLabel bookA

25、bstract=newnew JLabel(Abstract:);JLabel storage=newnew JLabel(Storage:);JLabel remain=newnew JLabel(Remain:);JLabel numberField=newnew JLabel();JLabel nameField=newnew JLabel();JLabel authorField=newnew JLabel();JLabel pressField=newnew JLabel();JLabel pressTimeField=newnew JLabel();JLabel abstractF

26、ield=newnew JLabel();JLabel storageField=newnew JLabel();JLabel remainField=newnew JLabel();JButton cancel=newnew JButton(Cancel);JLabel details=newnew JLabel(Borrow and reaturn details);Object s=Reader number,Borrow time,Deadline,Over time;Object ob1=newnew Object74;JTable table=newnew JTable(ob1,s

27、);JScrollPane scrollPane=newnew JScrollPane(table);publicpublic BookDetails(String number)1/1BookInfo book=newnew BookInfo(number);ob1=op.borrowListForBook(number);forfor(intint i=0;i 5;i+)DefaultTableModel books=newnew DefaultTableModel(ob1,s);forfor(intint n=0;n 7;n+)forfor(intint m=0;m 4;m+)ob1nm

28、=thisthis.ob1nm;table.setModel(books);table.invalidate();ArrayList strArray=newnew 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);abst

29、ractField.setText(strArray.get(5);storageField.setText(strArray.get(6);remainField.setText(strArray.get(7);c.add(p1,BorderLayout.NORTHNORTH);c.add(p2,BorderLayout.CENTERCENTER);c.add(p3,BorderLayout.SOUTHSOUTH);p1.setLayout(newnew GridLayout(9,2,20,10);p1.add(bookNumber);p1.add(numberField);p1.add(b

30、ookName);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)

31、;p2.add(scrollPane);p3.add(cancel);table.setPreferredScrollableViewportSize(newnew Dimension(400,100);cancel.addActionListener(thisthis);publicpublic voidvoid actionPerformed(ActionEvent e)/TODOTODO Auto-generated method stubifif(e.getSource()=cancel)thisthis.dispose();1/1BookInfo.javapublicpublic c

32、lassclass BookInfo privateprivate String number,name,author,press,pressTime,bookAbstract;privateprivate intint total,remain;/default constructorpublicpublic BookInfo()publicpublic BookInfo(String number)thisthis.number=number;publicpublic BookInfo(String number,String name)thisthis.number=number;thi

33、sthis.name=name;publicpublic BookInfo(String number,String name,String author,String press,String pressTime,String bookAbstract,intint total,intint remain)thisthis.number=number;thisthis.name=name;thisthis.author=author;thisthis.press=press;thisthis.pressTime=pressTime;thisthis.bookAbstract=bookAbst

34、ract;thisthis.total=total;thisthis.remain=remain;publicpublic voidvoid setRemain(intint i)thisthis.remain=i;publicpublic String getNumber()returnreturn number;publicpublic String getName()returnreturn name;publicpublic String getAuthor()returnreturn author;publicpublic String getPress()returnreturn press;1/1publicpublic String getPressTime()returnreturn pressTime;publicpublic String getBookAbstract()returnreturn bookAbstract;publicpublic intint getTotal()returnreturn total;publicpublic intint getRemain()returnreturn remain;1/1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁