Java 图书馆管理系统附全代码课程设计报告.docx

上传人:b****6 文档编号:8318717 上传时间:2023-01-30 格式:DOCX 页数:81 大小:895.07KB
下载 相关 举报
Java 图书馆管理系统附全代码课程设计报告.docx_第1页
第1页 / 共81页
Java 图书馆管理系统附全代码课程设计报告.docx_第2页
第2页 / 共81页
Java 图书馆管理系统附全代码课程设计报告.docx_第3页
第3页 / 共81页
Java 图书馆管理系统附全代码课程设计报告.docx_第4页
第4页 / 共81页
Java 图书馆管理系统附全代码课程设计报告.docx_第5页
第5页 / 共81页
点击查看更多>>
下载资源
资源描述

Java 图书馆管理系统附全代码课程设计报告.docx

《Java 图书馆管理系统附全代码课程设计报告.docx》由会员分享,可在线阅读,更多相关《Java 图书馆管理系统附全代码课程设计报告.docx(81页珍藏版)》请在冰豆网上搜索。

Java 图书馆管理系统附全代码课程设计报告.docx

Java图书馆管理系统附全代码课程设计报告

《数据库系统概论》课程报告

课题名称:

 小型图书管理系统  

课题负责人名(学号):

 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()));

      ArrayListstrArray=newArrayList();

      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()));

      ArrayListstrArray=newArrayList();

      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);

    f

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1