java实训报告图书管理系统.docx

上传人:b****6 文档编号:6566649 上传时间:2023-01-08 格式:DOCX 页数:16 大小:219.48KB
下载 相关 举报
java实训报告图书管理系统.docx_第1页
第1页 / 共16页
java实训报告图书管理系统.docx_第2页
第2页 / 共16页
java实训报告图书管理系统.docx_第3页
第3页 / 共16页
java实训报告图书管理系统.docx_第4页
第4页 / 共16页
java实训报告图书管理系统.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

java实训报告图书管理系统.docx

《java实训报告图书管理系统.docx》由会员分享,可在线阅读,更多相关《java实训报告图书管理系统.docx(16页珍藏版)》请在冰豆网上搜索。

java实训报告图书管理系统.docx

java实训报告图书管理系统

Java实训报告

 

项目:

图书管理系统

 

专业:

软件技术

班级:

12级软件技术

姓名:

马巍杨迪张倩茹

指导教师:

黄珍

 

兰州文理学院

电子信息工程学院

2014年7月

 

摘要

近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。

为此,在此次的实训中我选择了图书管理系统,它是以“图书"数据库为后台,在java和MicrosoftSQLServer2000的开发环境下进行的。

主要实现了对客户资料的添加、修改、删除等功能;在查询方面,利用了模糊查询、详细查询;

 

一、实习(实训)器材或环境(注:

针对计算机等专业的硬件、软件环境要求)

1.硬件环境

★学校101机房电脑

 

2.软件环境

★操作系统:

Windows98或Windows2000/WindowsNTServer4.0

★MicrosoftAccess2000或SQLSever

二、实习(实训)内容与过程

我们做的书籍借阅管理系统主要划分为以下七个模块:

1)操作员管理模块:

实现操作员的登录及操作用户的添加,更改密码和删除用户的管理.

2)书籍信息管理模块:

实现书籍信息的添加和更新。

3)书籍借出模块:

书籍借出管理。

4)书籍还入模块:

书籍还入管理.

5)信息一览模块:

对书籍,读者和书籍借阅情况列表显示.

6)数据操作模块:

封装对数据库的操作。

具体操作如下:

1)数据库结构设计

该系统包括书籍管理、借阅管理和用户管理,所以数据库应包括书籍信息表(图1—1所示)、书籍借阅表(图1-2所示)、用户表(图1-3所示)。

图1—1书籍信息表

图1—2书籍借阅表

图1—3用户信息表

2)主界面模块设计

根据功能需求和总体设计的结果,它应该由操作员登录、操作员管理、书籍借出管理、书籍还入管理和信息一览组成,如图2-1所示。

可通过点击菜单项进入相应的功能模块。

图2—1书籍管理系统主界面

建立一个新的应用程序,并将其主窗口命名为“BookManagerMain”。

修改窗体布局为“XYLayout或NULL”。

在此窗体上添加一菜单,名为“jMemuBar”.

代码如下:

//设置权限。

根据操作员的不同,设置相应的权限。

管理员可操作所有功能和添加用户;书籍操作员只能管理书籍;借阅操作员只能管理借阅情况。

由于这个过程要在用户登录中使用,因此其函数作用范围要设为public

publicvoidsetEnable(Stringpowertype){

if(powertype.equals("管理员")){

jMenuUserManager。

setEnabled(true);

jMenuBookManager.setEnabled(true);

jMenuBorrowBook。

setEnabled(true);

jMenuReturnBook.setEnabled(true);

jMenuAllInfo。

setEnabled(true);

}

elseif(powertype。

equals(”书籍操作员”)){

jMenuUserManager。

setEnabled(false);

jMenuBookManager.setEnabled(true);

jMenuBorrowBook。

setEnabled(false);

jMenuReturnBook.setEnabled(false);

jMenuAllInfo.setEnabled(true);

elseif(powertype.equals(”借阅操作员")){

jMenuUserManager。

setEnabled(false);

jMenuBookManager.setEnabled(false);

jMenuBorrowBook。

setEnabled(true);

jMenuReturnBook.setEnabled(true);

jMenuAllInfo。

setEnabled(true);

else{

jMenuUserManager。

setEnabled(false);

jMenuBookManager。

setEnabled(false);

jMenuBorrowBook。

setEnabled(false);

jMenuReturnBook。

setEnabled(false);

jMenuAllInfo.setEnabled(false);

}

//在主窗体被打开时打开登陆窗口

voidthis_windowOpened(WindowEvente){

setEnable(”else”);

//采用userLogin(this)的形式,将父窗体对象传入

userLogindlg=newuserLogin(this);

DimensiondlgSize=dlg。

getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg.setLocation((frmSize.width—dlgSize。

width)/2+loc。

x,(frmSize.height—dlgSize。

height)/2+loc。

y);

dlg。

setVisible(true);

}

//打开登陆窗口

voidjMenuItemLogin_actionPerformed(ActionEvente){

userLogindlg=newuserLogin(this);

DimensiondlgSize=dlg.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg.setLocation((frmSize。

width-dlgSize。

width)/2+loc。

x,(frmSize.height-dlgSize.height)/2+loc。

y);

dlg。

setVisible(true);

}

//打开添加用户窗口

voidjMenuItemUserAdd_actionPerformed(ActionEvente){

userAdddlg=newuserAdd();

DimensiondlgSize=dlg。

getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);

dlg.setVisible(true);

}

//打开用户密码修改窗口

voidjMenuItemUserUpdate_actionPerformed(ActionEvente){

userUpdatedlg=newuserUpdate();

DimensiondlgSize=dlg.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg.setLocation((frmSize。

width-dlgSize.width)/2+loc.x,(frmSize。

height-dlgSize.height)/2+loc.y);

dlg.setVisible(true);

//打开用户删除窗口

voidjMenuItemUserDelete_actionPerformed(ActionEvente){

userDeletedlg=newuserDelete();

DimensiondlgSize=dlg.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg.setLocation((frmSize。

width-dlgSize。

width)/2+loc。

x,(frmSize.height-dlgSize。

height)/2+loc.y);

dlg.setVisible(true);

//打开书籍信息添加窗口

voidjMenuItemBookAdd_actionPerformed(ActionEvente){

bookAdddlg=newbookAdd();

DimensiondlgSize=dlg.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg。

setLocation((frmSize。

width-dlgSize。

width)/2+loc。

x,(frmSize.height-dlgSize.height)/2+loc。

y);

dlg。

setVisible(true);

//打开书籍信息更新窗口

voidjMenuItemBookUpdate_actionPerformed(ActionEvente){

bookUpdatedlg=newbookUpdate();

DimensiondlgSize=dlg。

getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg。

setLocation((frmSize。

width-dlgSize。

width)/2+loc。

x,(frmSize。

height-dlgSize。

height)/2+loc.y);

dlg。

setVisible(true);

}

//打开书籍删除窗口

voidjMenuItemBookDelete_actionPerformed(ActionEvente){

bookDeletedlg=newbookDelete();

DimensiondlgSize=dlg.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg。

setLocation((frmSize。

width—dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);

dlg。

setVisible(true);

//打开书籍出借窗口

voidjMenuItemBookBorrow_actionPerformed(ActionEvente){

borrowBookdlg=newborrowBook();

DimensiondlgSize=dlg。

getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg。

setLocation((frmSize.width-dlgSize。

width)/2+loc.x,(frmSize。

height-dlgSize。

height)/2+loc.y);

dlg。

setVisible(true);

//打开书籍出借信息修改窗口

voidjMenuItemBookBorrowUpdate_actionPerformed(ActionEvente){

borrowInfoUpdatedlg=newborrowInfoUpdate();

DimensiondlgSize=dlg。

getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg.setLocation((frmSize。

width—dlgSize。

width)/2+loc.x,(frmSize。

height-dlgSize。

height)/2+loc.y);

dlg。

setVisible(true);

}

//打开书籍还入窗口

voidjMenuItemBookReturn_actionPerformed(ActionEvente){

returnBookdlg=newreturnBook();

DimensiondlgSize=dlg。

getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg.setLocation((frmSize。

width—dlgSize。

width)/2+loc。

x,(frmSize。

height—dlgSize.height)/2+loc。

y);

dlg.setVisible(true);

//打开书籍还入信息修改窗口

voidjMenuItemBookReturnUpdate_actionPerformed(ActionEvente){

returnInfoUpdatedlg=newreturnInfoUpdate();

DimensiondlgSize=dlg.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg。

setLocation((frmSize。

width—dlgSize.width)/2+loc。

x,(frmSize.height-dlgSize。

height)/2+loc。

y);

dlg。

setVisible(true);

//打开所有书籍列表窗口

voidjMenuItemAllBook_actionPerformed(ActionEvente){

bookListdlg=newbookList();

DimensiondlgSize=dlg.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg.setLocation((frmSize.width—dlgSize。

width)/2+loc。

x,(frmSize。

height-dlgSize。

height)/2+loc。

y);

dlg。

setVisible(true);

voidjMenuFileExit_actionPerformed(ActionEvente){

System.exit(0);

}

//打开所有书籍借阅查询窗口

voidjMenuItemAllInfo_actionPerformed(ActionEvente){

AllInfodlg=newAllInfo();

DimensiondlgSize=dlg.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dlg。

setLocation((frmSize.width-dlgSize。

width)/2+loc.x,

(frmSize。

height-dlgSize.height)/2+loc.y);

dlg.setVisible(true);

3)与数据库建立连接

packagedata;

importjava。

sql.*;//引入sql包

//数据库操作类

publicclassDBManager{

privateStringdriver=”sun.jdbc。

odbc.JdbcOdbcDriver”;

privateStringurl=”jdbc:

odbc:

BookManagerDB”;//创建指定数据库的URL

//查询方法,返回查询结果集

publicResultSetgetResult(Stringsql){

ResultSetrs=null;

try{

Class.forName(driver);//加载驱动程序

Connectionconn=DriverManager.getConnection(url);//创建连接

//创建statement对象

Statementstmt=conn.createStatement(ResultSet。

TYPE_SCROLL_SENSITIVE,ResultSet。

CONCUR_UPDATABLE);

rs=stmt。

executeQuery(sql);//执行SQL语句,返回结果集

}

//异常处理

catch(Exceptione){

e。

printStackTrace();

}

returnrs;

//执行更新语句方法

publicintexecuteSql(Stringsql){

intcount=0;

try{

Class。

forName("driver”);//加载驱动程序

Connectionconn=DriverManager。

getConnection(url);//创建连接

Statementstmt=conn.createStatement();//创建statement对象

count=stmt。

executeUpdate(sql);//执行SQL语句,返回更新条数

}

catch(Exceptione){

e。

printStackTrace();

}

returncount;//返回的count>0,表示操作成功

}

}

4)操作员管理设计

1.此模块要完成操作员或管理员的登录,因此界面设计得很乘法,只有【确定】和【取消】两个按钮,如图3-1-1所示。

图3-1—1管理员和操作员登录窗口

操作员登录系统由用户名和密码构成,输入用户名和密码后系统首先验证输入字符的有效性,然后调用数据库查看此用户名是否存在、密码是否正确,然后再判断用户权限,从而确定是操作员还是管理员,根据权限的不同在执行主窗体中的setEnable过程时赋与不同的参数值。

2.此部分要完成添加新的操作员或管理员账号的功能,用户需要提供用户名、密码并选择登录权限,界面设计如图3-2—1所示。

图3-2—1用户添加窗口

登录权限采用JcomboBox,密码和确认密码采用JpasswordField。

操作员的信息由用户名和密码构成,在操作员输入用户名和密码后,系统首先验证输入字符的有效性,再读取用户选择的登录权限,然后执行数据库的插入过程。

3.操作员密码或权限修改,这部分要实现友操作员或管理员账号的密码或权限修改的功能,用户需要提供用户名、原密码、亲密码和确认新密码或者要修改的权限,界面设计如图3-3—1所示。

图3—3-1用户密码或权限修改窗口

4.操作员删除模块,这部分要实现支操作员或管理员账事情进行删除的功能,用户需要提供用户名和密码,界面如图3—4—1所示。

图3-4—1用户删除窗口

在操作员输入用户名和密码后,系统首先验证输入字符的有效性,然后调用数据库查看此用户名是否存在或密码是否正确,然后再执行更新过程。

5)书籍管理模块设计

1.添加书籍信息模块,这部分要实现添加书籍信息的功能,用户需要提供书籍信息的相关资料,从功能上考虑,界面设计如图4-1—1所示。

图4—1—1书籍信息添加窗口

在操作员输入书籍信息的相关资料后,系统首先验证输入字符的有效性,然后再执行添加过程。

2.修改书籍信息模块,这部分要实现对书籍信息进行修改的功能,用户需要提供所要修改的书籍的名称,由功能考虑,界面设计如图4—2—1所示。

在操作员输入书籍名称后,系统首先验证输入字符的有效性,然后市政用数据库对象执行更新过程。

图4-2—1书籍信息更新窗口

3.删除书籍信息模块,这部分实现对书籍信息删除的功能,界面设计如图4-3—1所示.

图4-3-1书籍信息删除窗口

在操作员打开此窗口后,窗体给出一个文本框,用来输入书籍名称,单击【确定】按钮后,执行相应的操作。

6)书籍借出管理设计

1.书籍借出模块,这部分要实现支书籍借出的功能,用户需要提供借阅者姓名、书名和其他相关信息,系统首先验证输入的有效性,然后执行相关的数据库过程。

界面设计如图5-1-1所示。

点击【清空】按钮,会清空所有信息,输入借阅者姓名、借阅日期并选择要借书籍,点击【确定】按钮会保存此书借阅的相关信息到数据库.

图5-1-1书籍借出窗口

2.书籍借出信息修改模块,这部分要实现对书籍借出信息修改的功能.窗体效果如图5—2-1所示。

点击【清空】按钮,会清空所有信息,输入借阅者姓名或书名点击【确定】按钮会调出此书相关信息,【更新】按钮将保存你对所借阅信息的修改。

图5—2—1书籍借出信息修改窗口

三、实习(实训)总结与体会

通过两个实训周的学习,我学到了不少新的东西,同时也温习了以前所学,老实说,实训的意义蛮大,特别是对我们动手、操作能力的培养,以及思维锻炼方面有非常大的作用,同时实训是我们平时的专业技能要求一个很好的体现,我们平时的掌握程度,通过实训,完全能够知道个大概,因为实训所涵盖的内容比较广,尽管就是我们平时的积累和学习,但是,要求明显有所提高。

最后我希望在以后的学习生活中,能够很好的运用这所学知识,并且有更大的提高。

参考资料

[1]java教学课本

[2]java1234。

com学习网站

[3]XX网站

[4]同学借鉴

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

当前位置:首页 > 幼儿教育

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

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