基于JAVA的图书管理系统设计_第1页
基于JAVA的图书管理系统设计_第2页
基于JAVA的图书管理系统设计_第3页
基于JAVA的图书管理系统设计_第4页
基于JAVA的图书管理系统设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. j a v a 核 心 技 术 综 合 实 验 报 告课程名称:java核心技术专业:计算机科学与技术姓名:沈倩竹学号:1430110311指导教师:王 岩成绩:完成日期:2015年12月18日.1 系统分析与设计1.1需求分析图书管理系统是高校图书馆不可缺少的一部分,通过图书管理系统可以实现计算机化的图书借阅管理,能够提供方便快速的图书信息检索功能和便捷的图书借阅和归还功能,并且能够对图书信息和读者信息进行管理,方便管理员和读者的借阅处理。(本人实现了图书添加、图书查询与修改、图书类别管理、用户添加、用户删除、修改密码功能模块的设计)要求系统具备以下特点。(1)操作简单、易用。(2)数据

2、存储可靠,具备较高的处理效率。(3)系统安全、稳定。(4)开发技术先进、功能完善、扩展性强。1.2系统功能设计根据需求分析,本系统具体的功能模块图如图1.2.1 所示。图 1.2.1图书借阅系统功能结构图1.2.1读者信息管理1 、读者信息添加实现向数据库中添加读者信息的功能。2 、读者信息查询与修改实现查询指定编号、 姓名、类别以及所在部门的读者信息, 并对选中的读者信息进行修改操作。.1.2.2图书信息管理1 、图书信息添加实现向数据库中添加图书信息的功能。2 、图书信息查询与修改实现查询指定 isbn、图书名称、类别、作者以及出版社的图书信息,并对选中的图书信息进行修改操作。1.2.3图

3、书借阅管理1 、图书借阅输入读者的编号以及借阅的图书信息,记录系统当前时间为借阅时间。2 、图书归还输入读者的编号并选择其名下已借阅的图书, 记录系统当前日期为归还时间, 判断是否超期并计算罚金。1.2.4基础信息维护1 、图书类别设置实现显示数据库中图书类别的功能,并对选中的图书类别进行增、删、改、查功能。2 、读者类别设置实现显示数据库中读者类别的功能,并对选中的读者类别进行增、删、改、查功能。3、罚金设置可以指定超期一天的罚金标准。1.2.5用户管理1 、修改密码实现当前用户登陆后,修改用户自己密码的功能。2 、用户添加实现向数据库中增加用户的功能。3、用户删除实现显示数据库中的用户信息

4、,并对选中的用户进行删除的功能。1.3数据库设计根据需求分析,创建 6 个数据表,即图书表、图书类型表、读者表、读者类型表、图书借阅表以及用户表。.1、图书表,表名为book,包括 isbn、图书类型编号、图书名称、作者、出版社、出版日期、印刷次数和单价,其中isbn为主键,如表1.1 所示。表 1.1图书信息表 book列名数据类型长度是否为空说明isbnchar10否isbn(主键)typeidvarchar10是图书类型编号booknamevarchar30是图书名称authorvarchar30是作者publishvarchar30是出版社publishdatedate是出版日期pri

5、nttimeint是印刷次数unitpricemoney是单价图书表数据如图1.3.1 所示。图 1.3.1 图书表数据2、图书类型表,表名为booktype ,包括图书类型编号、图书类型名称,其中图书类型编号为主键,如表1.2 所示。表 1.2 图书类型表 booktype列名数据类型长度是否为空说明idint否图书类型编号(主键)typenamevarchar30是图书类型名称.图书类型表数据如图1.3.2 所示。图 1.3.2图书类型表数据3、读者表,表名为 reader ,包括读者编号、读者类型编号、读者姓名、年龄、性别、电话、所在系部、注册日期,其中读者编号为主键,如表1.3 所示。

6、表 1.3 读者信息表 reader列名数据类型长度是否为空说明readeridchar8否读者编号(主键)typeint是读者类型编号namechar20是读者姓名ageint是年龄sexchar4是性别phonechar11是电话deptvarchar20是所在系部regdatedate是注册日期读者表数据如图1.3.3 所示。图 1.3.3读者表数据.4、读者类型表,表名为readertype ,包括读者类型编号、读者类型名称、最多可借图书数量、最长可借阅图书天数,其中读者类型编号为主键,如表1.4 所示。表 1.4 读者类型表 readertype列名数据类型长度是否为空说明idint

7、否读者类型编号(主键)typenamevarchar20是读者类型名称maxborrownumint是最多可借图书数量limitint是最长可借阅图书天数读者类型表数据如图1.3.4 所示。图 1.3.4读者类型表数据5、用户表,表名为users ,包括用户编号、用户名称、用户密码,其中用户编号为主键,如表 1.5 所示。表 1.5 用户信息表 users列名数据类型长度是否为空说明idint否用户编号(主键)namevarchar20是用户名称passwordvarchar20是用户密码用户表数据如图1.3.5 所示。图 1.3.5 用户表数据6、图书借阅表,表名为borrowbook ,包

8、括读者编号、 isbn、借书日期、还书日期、罚金,其中读者编号和isbn为联合主键,如表1.6 所示。.表 1.6图书借阅表 borrowbook列名数据类型长度是否为空说明readeridchar8否读者编号(主键)isbnchar10否isbn(主键)borrowdatedate是借书日期returndatedate是还书日期finemoney是罚金图书借阅表数据如图1.3.6 所示。图 1.3.6图书借阅表数据.2 系统实现2.1系统框架项目分为 model、view 、db 三个包,具体项目架构的设计如图2.1.1 所示。图 2.1.1图书借阅表数据1、在 com.bbm.model包

9、中创建图书借阅管理系统中的实体类:book类,booktype类,reader类, readertype 类, users 类, borrowbook 类,如表 2.1 所示。表 2.1 实体类表 com.bbm.model文件名说明book.java图书类模型booktype.java图书类型类模型.borrowbook.java图书借阅类模型reader.java读者类模型readertype.java读者类型类模型users.java用户类模型2、在 com.bbm.view 包中创建图书借阅管理系统中的界面及功能类,如表2.2 所示。表 2.2界面类表 com.bbm.view文件名说

10、明login.java登陆界面及功能library.java系统主界面及功能bookadd.java图书添加界面及功能bookborrow.java图书借阅界面及功能bookreturn.java图书归还界面及功能bookselectandupdate.jav图书查询与修改界面及功能abooktypeadm.java图书类型管理界面及功能readeradd.java读者添加界面及功能readerselectandupdate.j读者查询与修改界面及功能avareadertypeadm.java读者类型管理界面及功能useradd.java用户添加界面及功能userdelete.java用户删除

11、界面及功能passwordchange.java修改密码界面及功能fineset.java罚金设置界面及功能3、在 com.bbm.db 包中创建图书借阅管理系统中的数据访问操作类,如表2.3 所示。表 2.3 数据访问操作类表 com.bbm.db文件名说明dao.java基本数据访问操作类readerdao.java读者操作类bookdao.java图书操作类readertypedao.java读者类型操作类booktypedao.java图书类型操作类bookborrowdao.java图书借阅操作类userdao.java用户操作类.center); south);north);.2.

12、2图书类型管理模块的实现2.2.1图书类型管理模块界面的设计与实现图书类型管理模块界面的实现分为三个面板,图书类型查询面板( selectjp ), 其中包含查询结果面板 (jspjp) 位于 selectjp 中部, selectjp 整体位于整个 jframe 的北部,修改信息面板( infojp )位于整个 jframe 中部,按钮面板( buttonjp )位于整个 jframe 南部。如图 2.2.1 所示。图 2.2.1图书类型管理模块界面主要代码如下:selectjp.add( jspjp,borderlayout.center);this.add( selectjp,borde

13、rlayout.this.add( infojp,borderlayout.this.add( buttonjp,borderlayout.2.2.2图书类型管理模块数据操作的设计与实现本模块需要进行的数据操作如下:1、获取数据库中图书类型表中的数据主要代码如下:publicstaticlist selectbooktype() list list =new arraylist();string sql =select * from booktype;.resultset rs = dao.executequery (sql);trywhile(rs.next() booktype bt =n

14、ew booktype();bt.setid(rs.getint(id);bt.settypename(rs.getstring(typename );list.add(bt);catch (exception e) e.printstacktrace();dao.close ();returnlist;2、对指定的图书类型的图书信息进行查询主要代码如下:publicstaticlist selectbooktypename(string type) list list =new arraylist();string sql =select * from booktype where type

15、name like %+type+ % ;resultset rs = dao.executequery (sql);trywhile(rs.next() booktype bt =new booktype();bt.setid(rs.getint(id);bt.settypename(rs.getstring(typename );list.add(bt);catch (exception e) e.printstacktrace();dao.close ();returnlist;3、对其进行添加操作主要代码如下:publicstaticintinsertbooktype(string b

16、tno,string typename) inti = 0;trystring sql =insert into booktype values(+btno+ ,+typename+ );i = dao.executeupdate (sql); catch (exception e) e.printstacktrace();dao. close ();.returni;4、对其进行修改操作代码同 3,具体 sql 语句如下:string sql =update booktype set id=+btno+ ,typename=+typename+ where id=+btno+ ;5、对其进行

17、删除操作代码同 3,具体 sql 语句如下:string sql =delete from booktype where id=+id+ ;2.2.3图书类型管理模块功能的设计与实现本模块实现的功能如下:1、获取数据库中图书类型表中的数据到jtable 中,并添加鼠标监听如上图2.2.1 所示。主要代码为:object results=getselect(booktypedao.selectbooktype ();/显示图书类别信息/ 添加鼠标监听classtablelistenerextendsmouseadapteroverridepublicvoidmouseclicked(mousee

18、vent e) intselrow =jt .getselectedrow();/ 获取选择表中的某一行保存信息btnojtf.settext(jt .getvalueat(selrow, 0).tostring().trim();/ 获取列并赋值btnamejtf.settext(jt .getvalueat(selrow, 1).tostring().trim();2、对查询按钮添加监听器(selectaction),对图书类别进行模糊查询,如图2.2.2 所示。图 2.2.2查询功能的实现主要代码为:classselectactionimplementsactionlistenerove

19、rridepublicvoidactionperformed(actionevent e) ./ todoauto-generated method stub string btname= btjtf .gettext().trim(); booktypedao. selectbooktypename(btname);objectresults=getselect(booktypedao.selectbooktypename(btname);jt=new jtable(results,readersearch);jsp .setviewportview(jt );jt .setautoresi

20、zemode(jtable.auto_resize_off);3、对添加按钮添加监听器(addaction ),向图书类别表中添加新的图书类别信息,例如:添加编号为“ 8”,名称为“化学”的图书类别信息,如图2.2.3(1)所示。4、图 2.2.3(1)添加成功更新后,如图 2.2.3 ( 2)所示。图 2.2.3(2)添加功能的实现主要代码为:classaddactionimplementsactionlisteneroverridepublicvoidactionperformed(actionevent e) if( btnojtf.gettext().length()=0) jopti

21、onpane.showmessagedialog( null , 图书类型编号不能为空! );return;if( btnamejtf.gettext().length() = 0) joptionpane.showmessagedialog( null , 图书类型名称不能为空! );return;string btno=btnojtf.gettext().trim();.string btname=(string)btnamejtf.gettext().trim();inti=booktypedao.insertbooktype (btno,btname);if(i=1) joptionp

22、ane.showmessagedialog( null , 添加成功 );object results = getselect(booktypedao.selectbooktype ();jt =new jtable(results,readersearch);jsp .setviewportview(jt );jt .setautoresizemode(jtable.auto_resize_off);5、对修改按钮添加监听器 ( updateaction ),修改图书类别表中信息, 例如将刚刚添加的 “化学”修改为“生物” ,如图 2.2.4(1) 所示。图 2.2.4(1)修改成功更新后,

23、如图 2.2.4 ( 2)所示。图 2.2.4(2)修改功能的实现主要代码为:classupdateactionimplementsactionlisteneroverridepublicvoidactionperformed(actionevent e) / todoauto-generated method stubstring btno=btnojtf.gettext().trim();string btname=btnamejtf.gettext().trim();inti=booktypedao.updatebooktype(btno,btname);system. out .pri

24、ntln(i);if (i=1)joptionpane.showmessagedialog( null , 修改成功 );object results = getselect(booktypedao.selectbooktype ();jt =new jtable(results,readersearch);jsp .setviewportview(jt );jt .setautoresizemode(jtable.auto_resize_off);.),实现关闭程序功能。.6、对删除按钮添加监听器 (deleteaction ),删除图书类别表中信息, 例如将刚刚修改的 “生物”删除,如图

25、2.2.5(1) 所示。图 2.2.5(1)删除成功更新后,如图 2.2.5 ( 2)所示。图 2.2.5(2)删除功能的实现主要代码为:classdeleteactionimplementsactionlisteneroverridepublicvoidactionperformed(actionevent e) / todoauto-generated method stubstring btno=btnojtf.gettext().trim();inti=booktypedao.deletebooktype (btno);system. out .println(i);if (i=1)j

26、optionpane.showmessagedialog( null , 删除成功! );object results = getselect(booktypedao.selectbooktype ();jt =new jtable(results,readersearch);jsp .setviewportview(jt );jt .setautoresizemode(jtable.auto_resize_off);6、对退出按钮添加监听器(outaction.主要代码如下:classoutactionimplementsactionlisteneroverridepublicvoidact

27、ionperformed(actionevent e) / todoauto-generated method stub setvisible( false );2.3用户添加模块的实现2.3.1用户添加模块界面的设计与实现用户添加模块界面的实现分为两个面板,用户添加信息面板( jp1 ,一个 2 行两列的表格)位于整个 jframe 的中部,按钮面板( buttonjp )位于整个 jframe 的南部。如图 2.3.1 所示。图 2.3.1用户添加模块界面主要代码如下:jp1 .setlayout(new gridlayout(2,2);this.add( jp1 ,borderlayout.center);this.add

温馨提示

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

评论

0/150

提交评论