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

上传人:无*** 文档编号:83865014 上传时间:2022-05-02 格式:DOC 页数:133 大小:1.61MB
收藏 版权申诉 举报 下载
Java 图书馆管理系统(附全代码)_课程设计资料报告材料_第1页
第1页 / 共133页
Java 图书馆管理系统(附全代码)_课程设计资料报告材料_第2页
第2页 / 共133页
Java 图书馆管理系统(附全代码)_课程设计资料报告材料_第3页
第3页 / 共133页
资源描述:

《Java 图书馆管理系统(附全代码)_课程设计资料报告材料》由会员分享,可在线阅读,更多相关《Java 图书馆管理系统(附全代码)_课程设计资料报告材料(133页珍藏版)》请在装配图网上搜索。

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

2、员的办公效率。关键词:JAVA、JDBC、SQL Server、数据库、图书馆管理一、实验题目:小型图书管理系统二、实验的目的和要求:完成一个小型图书管理系统,功能要求如下:1) 能够通过书籍根本信息包括:书号、书名、出版日期、作者、容摘要单个或以AND方式组合多个条件查询书籍信息;2) 对于每一种书籍,除可查看其根本信息之外还可查看其总数以与目前在馆数量3) 可增添新的书籍4) 可删除已有书籍如有读者借了该书籍尚未归还,如此不允许删除5) 可修改书籍的根本信息6) 能够通过读者根本信息包括:证号、性别、系名、年级单个或以AND方式组合多个条件查询读者信息7) 对于每位读者除可查看其根本信息之

3、外,还可查看其已借的书籍列表、数量、借还日期8) 可增添新的读者9) 可删除已有读者如该读者有尚未归还的借书,如此不允许删除10) 可修改读者的根本信息11) 可完成借还书籍的手续12) 还书时如超期,应该显示超期天数13) 借书时如果有超期的书没有还,如此不允许借书14) 可查询有哪些读者有超期的书没有还,列出这些读者的根本信息三、实验的环境: RAM: 8GB2、软件环境:操作系统:Windows 7 Ultimate SP1 编译软件:Eclipse Luna Microsoft SQL Server 2014四、系统ER图五、表结构定义使用表格说明六、系统功能模块1) 能够通过书籍根本

4、信息单个或组合多个条件查询书籍信息;2) 对于每一种书籍,除可查看其根本信息之外还可查看其总数以与目前在馆数量3) 可增添新的书籍4) 可删除已有书籍如有读者借了该书籍尚未归还,如此不允许删除5) 可修改书籍的根本信息6) 能够通过读者根本信息单个或组合多个条件查询读者信息7) 对于每位读者除可查看其根本信息之外,还可查看其已借的书籍列表、数量、借还日期8) 可增添新的读者9) 可删除已有读者如该读者有尚未归还的借书,如此不允许删除10) 可修改读者的根本信息11) 可完成借还书籍的手续12) 还书时如超期,应该显示超期天数13) 借书时如果有超期的书没有还,如此不允许借书14) 可查询有哪些

5、读者有超期的书没有还,列出这些读者的根本信息七、程序框架流程图九、程序运行结果八、核心代码import java.awt.BorderLayout;import java.awt.Container;import java.awt.GridLayout;import java.awt.event.*;import java.util.ArrayList;import javax.swing.*;publicclassAddBookextends JFrame implements ActionListener SQLOperation op = new SQLOperation();Conta

6、iner c = getContentPane();JPanel p1 = new JPanel();JLabel bookNumber = new JLabel(Book Number:);JLabel bookName = new JLabel(Book Name:);JLabel bookAuthor = new JLabel(Book Author:);JLabel press = new JLabel(Press:);JLabel pressTime = new JLabel(Press time:);JLabel bookAbstract = new JLabel(Abstract

7、:);JLabel storage = new JLabel(Storage:);JLabel remain = new JLabel(Remain);JLabel remain1 = new JLabel(Update with Storage);JTextFieldnumberField = newJTextField();JTextFieldnameField = newJTextField();JTextFieldauthorField = newJTextField();JTextFieldpressField = newJTextField();JTextFieldpressTim

8、eField = newJTextField();JTextFieldabstractField = newJTextField();JTextFieldstorageField = newJTextField();utton cancel = new utton(Cancel);utton confirm = new utton(Confirm!);public AddBook() c.add(p1, BorderLayout.NORTH);p1.setLayout(new GridLayout(9, 2, 20, 10);p1.add(bookNumber);p1.add(numberFi

9、eld);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);cance

10、l.addActionListener(this);confirm.addActionListener(this);publicvoid actionPerformed(ActionEvent e) / TODO Auto-generated method stubif (e.getSource() = cancel) this.dispose();if (e.getSource() = confirm) this.dispose();BookInfo book = new BookInfo(numberField.getText(),nameField.getText(), authorFi

11、eld.getText(),pressField.getText(), pressTimeField.getText(),abstractField.getText(), Integer.parseInt(storageField.getText(),Integer.parseInt(storageField.getText();ArrayList strArray = new ArrayList();strArray = op.addBookJudgement();intn = 0;intreplicate = 0;while (n Integer.parseInt(strArray.get

12、(0) n+;if (numberField.getText().equals(strArray.get(n) replicate+;if (replicate = 0) op.saveBook(book);JOptionPane.showMessageDialog(null, Add a book successfully!,Information, JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(null,This book(number) has already existed!, Warning,

13、JOptionPane.INFORMATION_MESSAGE);import java.awt.BorderLayout;import java.awt.Container;import java.awt.GridLayout;import java.awt.event.*;import java.util.ArrayList;import javax.swing.*;publicclassAddReaderextends JFrame implements ActionListener SQLOperation op = new SQLOperation();Container c = g

14、etContentPane();JPanel p1 = new JPanel();JLabel readerNumber = new JLabel(Reader Number:);JLabel readerName = new JLabel(Reader Name:);JLabel sex = new JLabel(Sex:);JLabel dpt = new JLabel(Department:);JLabel grade = new JLabel(Grade:);JTextField numberField = new JTextField();JTextField nameField =

15、 new JTextField();JTextField sexField = new JTextField();JTextField dptField = new JTextField();JTextField gradeField = new JTextField();utton cancel = new utton(Cancel);utton confirm = new utton(Confirm!);public AddReader() c.add(p1, BorderLayout.NORTH);p1.setLayout(new GridLayout(6, 2, 20, 10);p1.

16、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);publicvoid actionPerformed(ActionEvent e

17、) / TODO Auto-generated method stubif (e.getSource() = cancel) this.dispose();if (e.getSource() = confirm) this.dispose();ReaderInfo reader = new ReaderInfo(numberField.getText(),nameField.getText(), sexField.getText(),dptField.getText(), Integer.parseInt(gradeField.getText();ArrayList strArray = ne

18、w ArrayList();strArray = op.addReaderJudgement();intn = 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(n

19、ull,In the Sex field, you can only input boy or girl!,Warning, JOptionPane.INFORMATION_MESSAGE); else op.saveReader(reader);JOptionPane.showMessageDialog(null,Add a reader successfully!, Information,JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(null,This reader(number) has alr

20、eady existed!, Warning,JOptionPane.INFORMATION_MESSAGE);import java.awt.BorderLayout;import java.awt.Container;import java.awt.Dimension;import java.awt.GridLayout;import java.awt.event.*;import java.util.ArrayList;import javax.swing.*;import javax.swing.table.DefaultTableModel;publicclassBookDetail

21、sextends JFrame implements ActionListener SQLOperation op = new SQLOperation();Container c = getContentPane();JPanel p1 = new JPanel();JPanel p2 = new JPanel();JPanel p3 = new JPanel();JLabel bookNumber = new JLabel(Book Number:);JLabel bookName = new JLabel(Book Name:);JLabel author = new JLabel(Au

22、thor:);JLabel press = new JLabel(Press:);JLabel pressTime = new JLabel(Press time:);JLabel bookAbstract = new JLabel(Abstract:);JLabel storage = new JLabel(Storage:);JLabel remain = new JLabel(Remain:);JLabel numberField = new JLabel();JLabel nameField = new JLabel();JLabel authorField = new JLabel(

23、);JLabel pressField = new JLabel();JLabel pressTimeField = new JLabel();JLabel abstractField = new JLabel();JLabel storageField = new JLabel();JLabel remainField = new JLabel();utton cancel = new utton(Cancel);JLabel details = new JLabel(Borrow and reaturn details);Object s = Reader number, Borrow t

24、ime, Deadline, Over time ;Object ob1 = new Object74;JTable table = new JTable(ob1, s);JScrollPane scrollPane = new JScrollPane(table);public BookDetails(String number) BookInfo book = new BookInfo(number);ob1 = op.borrowListForBook(number);for (inti = 0; i 5; i+) DefaultTableModel books = new Defaul

25、tTableModel(ob1, s);for (intn = 0; n 7; n+) for (intm = 0; m 4; m+) ob1nm = this.ob1nm;table.setModel(books);table.invalidate();ArrayList strArray = new ArrayList();strArray = op.outputBook(book);numberField.setText(number);nameField.setText(strArray.get(1);authorField.setText(strArray.get(2);pressF

26、ield.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(new GridLayout(9,

27、 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(rem

28、ainField);p1.add(details);scrollPane.setBounds(0, 0, 800, 300);p2.add(scrollPane);p3.add(cancel);table.setPreferredScrollableViewportSize(new Dimension(400, 100);cancel.addActionListener(this);publicvoid actionPerformed(ActionEvent e) / TODO Auto-generated method stubif (e.getSource() = cancel) this

29、.dispose();publicclass BookInfo private String number, name, author, press, pressTime, bookAbstract;privateinttotal, remain;/ default constructorpublic BookInfo() public BookInfo(String number) this.number = number;public BookInfo(String number, String name) this.number = number;this.name = name;pub

30、lic BookInfo(String number, String name, String author, String press,String pressTime, String bookAbstract, inttotal, intremain) this.number = number;this.name = name;this.author = author;this.press = press;this.pressTime = pressTime;this.bookAbstract = bookAbstract;this.total = total;this.remain =

31、remain;publicvoid setRemain(inti) this.remain=i;public String getNumber() returnnumber;public String getName() returnname;public String getAuthor() returnauthor;public String getPress() returnpress;public String getPressTime() returnpressTime;public String getBookAbstract() returnbookAbstract;public

32、int getTotal() returntotal;publicint getRemain() returnremain;BookRetrimport java.awt.BorderLayout;import java.awt.Container;import java.awt.Dimension;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.*;import java.util.ArrayList;import javax.swing.*;import javax.swing.table.Defa

33、ultTableModel;classBookRetrievalextends JFrame implements ActionListener SQLOperation op = new SQLOperation();Container c = getContentPane();JPanel p1 = new JPanel();JPanel p4 = new JPanel();JPanel p5 = new JPanel();JLabel bookNumber = new JLabel(Book Number:);JLabel bookName = new JLabel(Book Name:

34、);JTextField number = new JTextField();JTextField name = new JTextField();utton back = new utton(Back (Fresh);utton addBook = new utton(Add a book);utton deleteBook = new utton(Delete a book);utton editBook = new utton(Edit a book);utton search = new utton(Search for details!);utton borrowBook = new

35、 utton(Borrow a book);utton returnBook = new utton(Return a book);Font font1 = new Font(00, Font.BOLD, 20);Object s = Number, Name, Author, Press, Press Time,Abstract, Storage, Remain ;Object ob = new Object408;JTable table = new JTable(ob, s);JScrollPane scrollPane = new JScrollPane(table);public B

36、ookRetrieval() BookInfo book = new BookInfo();ob = op.allBook(book);for (inti = 0; i 5; i+) DefaultTableModel books = new DefaultTableModel(ob, s);for (intn = 0; n 20; n+) for (intm = 0; m 8; m+) obnm = this.obnm;table.setModel(books);table.invalidate();c.add(p4, BorderLayout.NORTH);c.add(p1, Border

37、Layout.CENTER);c.add(p5, BorderLayout.SOUTH);search.setFont(font1);p4.setLayout(new GridLayout(2, 4, 20, 10);p4.add(back);p4.add(addBook);p4.add(editBook);p4.add(deleteBook);p4.add(borrowBook);p4.add(returnBook);p1.setLayout(null);scrollPane.setBounds(0, 0, 800, 300);p1.add(scrollPane);p5.setLayout(

38、new GridLayout(5, 1, 0, 0);p5.add(bookNumber);p5.add(number);p5.add(bookName);p5.add(name);p5.add(search);table.setPreferredScrollableViewportSize(new Dimension(400, 300);addBook.addActionListener(this);search.addActionListener(this);back.addActionListener(this);deleteBook.addActionListener(this);ed

39、itBook.addActionListener(this);borrowBook.addActionListener(this);returnBook.addActionListener(this);publicvoid actionPerformed(ActionEvent e) if (e.getSource() = search) ArrayList strArray = new ArrayList();strArray = op.addBookJudgement();String s1 = number.getText();String s2 = name.getText();int

40、n = 0;intreplicate = 0;while (n Integer.parseInt(strArray.get(0) n+;if (s1.equals(strArray.get(n) replicate+;ArrayList strArray1 = new ArrayList();strArray1 = op.addBookJudgement1();intn1 = 0;intreplicate1 = 0;while (n1 Integer.parseInt(strArray1.get(0) n1+;if (s2.equals(strArray1.get(n1) replicate1

41、+;if (replicate = 0 & replicate1 = 0) JOptionPane.showMessageDialog(null,Please input a correct book number or name!,Warning, JOptionPane.INFORMATION_MESSAGE); elseif (replicate != 0 | replicate1 != 0) if (replicate = 0 & replicate1 != 0) BookInfo book = new BookInfo(s1, s2);String s = op.searchBook

42、ByName(book);BookDetails f = new BookDetails(s);/ f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setTitle(Book Details);f.setLocation(300, 200);f.setSize(480, 470);f.setVisible(true); elseif (replicate != 0) BookDetails f = new BookDetails(s1);/ f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f

43、.setTitle(Book Details);f.setLocation(300, 200);f.setSize(480, 470);f.setVisible(true);if (e.getSource() = back) this.dispose();MyFrame f = new MyFrame();/ f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setTitle(Library Management System);f.setLocation(300, 200);f.setSize(580, 300);f.setVisible(

44、true);if (e.getSource() = addBook) AddBook f = new AddBook();/ f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setTitle(Add a book);f.setLocation(300, 200);f.setSize(300, 400);f.setVisible(true);if (e.getSource() = deleteBook) DeleteBook f = new DeleteBook();/ f.setDefaultCloseOperation(JFrame.EX

45、IT_ON_CLOSE);f.setTitle(Delete a book);f.setLocation(300, 200);f.setSize(300, 200);f.setVisible(true);if (e.getSource() = borrowBook) BorrowBook f = new BorrowBook();/ f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setTitle(Borrow a book);f.setLocation(300, 200);f.setSize(300, 200);f.setVisible(

46、true);if (e.getSource() = returnBook) ReturnBook f = new ReturnBook();/ f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setTitle(Return a book);f.setLocation(300, 200);f.setSize(300, 200);f.setVisible(true);if (e.getSource() = editBook) SelectEdit f = new SelectEdit();/ f.setDefaultCloseOperation

47、(JFrame.EXIT_ON_CLOSE);f.setTitle(Edit a book);f.setLocation(300, 200);f.setSize(300, 200);f.setVisible(true);import java.awt.BorderLayout;import java.awt.Container;import java.awt.GridLayout;import java.awt.event.*;import java.util.ArrayList;import javax.swing.*;publicclassBorrowBookextends JFrame

48、implements ActionListener SQLOperation op = new SQLOperation();Container c = getContentPane();JPanel p1 = new JPanel();JLabel bookNumber = new JLabel(Book Number:);JTextField numberField = new JTextField();JLabel readerNumber = new JLabel(Reader Number:);JTextField readerNumberField = new JTextField

49、();utton cancel = new utton(Cancel);utton borrow = new utton(Borrow!);public BorrowBook() c.add(p1, BorderLayout.NORTH);p1.setLayout(new GridLayout(3, 2, 20, 10);p1.add(bookNumber);p1.add(numberField);p1.add(readerNumber);p1.add(readerNumberField);p1.add(cancel);p1.add(borrow);cancel.addActionListen

50、er(this);borrow.addActionListener(this);publicvoid actionPerformed(ActionEvent e) / TODO Auto-generated method stubif (e.getSource() = cancel) this.dispose();if (e.getSource() = borrow) String bookNumber = numberField.getText();ArrayList strArray = new ArrayList();strArray = op.addBookJudgement();in

51、tn = 0;intreplicate = 0;while (n Integer.parseInt(strArray.get(0) n+;if (bookNumber.equals(strArray.get(n) replicate+;String readerNumber = readerNumberField.getText();ArrayList strArray1 = new ArrayList();strArray1 = op.addReaderJudgement();intn1 = 0;intreplicate1 = 0;while (n1 Integer.parseInt(str

52、Array1.get(0) n1+;if (readerNumber.equals(strArray1.get(n1) replicate1+;if (replicate = 0 | replicate1 = 0) JOptionPane.showMessageDialog(null,Please input a correct book number and a reader number!,Warning, JOptionPane.INFORMATION_MESSAGE); else BookInfo book = new BookInfo(bookNumber);ArrayList s

53、= new ArrayList();s = op.outputBook(book);if (Integer.parseInt(s.get(7) 0) ints1 = op.reBorrowCheck(numberField.getText(),readerNumberField.getText();if (s1 = 1) JOptionPane.showMessageDialog(null,You have borrowed this book, can not reborrow it!,Unsuccessful,JOptionPane.INFORMATION_MESSAGE); else l

54、ongcurrentTime = System.currentTimeMillis();if (op.deadLineCheck(readerNumberField.getText(),currentTime) != 0) JOptionPane.showMessageDialog(null,You have exceeded the deadline, please return these books first!,Unsuccessful,JOptionPane.INFORMATION_MESSAGE); else BookInfo book1 = new BookInfo(s.get(

55、0), s.get(1),s.get(2), s.get(3), s.get(4), s.get(5),Integer.parseInt(s.get(6),Integer.parseInt(s.get(7) - 1);op.inputBook(book1);String borrowTime = Long.toString(System.currentTimeMillis();String deadline = Long.toString(System.currentTimeMillis() + 2592000000l);System.out.println(borrowTime);Syste

56、m.out.println(deadline);op.insertBorrow(numberField.getText(),readerNumberField.getText(), borrowTime,deadline);JOptionPane.showMessageDialog(null,Borrowed this book successfully, you have 30 days to enjoy this book!,Successful,JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(null,This book has been borrowed!, Unsuccessful,JOptionPane.INFORMATION_MESSAGE);this.dispose();import java.awt.BorderLayout;import java.awt.Container;import java.awt.Dimension;import;import;import ja

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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