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

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

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

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

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

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

ﻩﻩArrayListstrArray= newArrayList

ﻩﻩ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(this

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

当前位置:首页 > 农林牧渔 > 林学

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

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