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

下载本文档

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

文档简介

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

2、4开发技术先进、功能完善、扩展性强。1.2 系统功能设计根据需求分析,本系统具体的功能模块图如图1.2.1所示。图1.2.1 图书借阅系统功能构造图1.2.1 读者信息管理 1、读者信息添加 实现向数据库中添加读者信息的功能。 2、读者信息查询与修改实现查询指定编号、类别以及所在部门的读者信息,并对选中的读者信息进展修改操作。1.2.2图书信息管理 1、图书信息添加 实现向数据库中添加图书信息的功能。 2、图书信息查询与修改 实现查询指定ISBN、图书名称、类别、作者以及的图书信息,并对选中的图书信息进展修改操作。1.2.3图书借阅管理 1、图书借阅 输入读者的编号以及借阅的图书信息,记录系统

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

4、数据表,即图书表、图书类型表、读者表、读者类型表、图书借阅表以及用户表。1、图书表,表名为book,包括ISBN、图书类型编号、图书名称、作者、出版日期、印刷次数和单价,其中ISBN为主键,如表1.1所示。表1.1 图书信息表book列名数据类型长度是否为空说明ISBNchar10否ISBN主键typeidvarchar10 是图书类型编号booknamevarchar30是图书名称authorvarchar30是作者publishvarchar30是publishdatedate是出版日期printtimeint是印刷次数unitpricemoney是单价图书表数据如图1.3.1所示。图1.

5、3.1 图书表数据2、图书类型表,表名为booktype,包括图书类型编号、图书类型名称,其中图书类型编号为主键,如表1.2所示。表1.2 图书类型表booktype列名数据类型长度是否为空说明idint否图书类型编号主键typenamevarchar30是图书类型名称图书类型表数据如图1.3.2所示。图1.3.2 图书类型表数据3、读者表,表名为reader,包括读者编号、读者类型编号、读者、年龄、性别、所在系部、注册日期,其中读者编号为主键,如表1.3所示。表1.3 读者信息表reader列名数据类型长度是否为空说明readeridchar8否读者编号主键typeint 是读者类型编号na

6、mechar20是读者ageint是年龄se*char4是性别phonechar11是deptvarchar20是所在系部regdatedate是注册日期读者表数据如图1.3.3所示。图1.3.3 读者表数据4、读者类型表,表名为readertype,包括读者类型编号、读者类型名称、最多可借图书数量、最长可借阅图书天数,其中读者类型编号为主键,如表1.4所示。表1.4 读者类型表readertype列名数据类型长度是否为空说明idint否读者类型编号主键typenamevarchar20是读者类型名称ma*borrownumint是最多可借图书数量limitint是最长可借阅图书天数读者类型表

7、数据如图1.3.4所示。图1.3.4 读者类型表数据5、用户表,表名为users,包括用户编号、用户名称、用户密码,其中用户编号为主键,如表1.5所示。表1.5 用户信息表users列名数据类型长度是否为空说明idint否用户编号主键namevarchar20是用户名称passwordvarchar20是用户密码用户表数据如图1.3.5所示。图1.3.5 用户表数据6、图书借阅表,表名为borrowbook,包括读者编号、ISBN、借书日期、还书日期、罚金,其中读者编号和ISBN为联合主键,如表1.6所示。表1.6 图书借阅表borrowbook列名数据类型长度是否为空说明readeridch

8、ar8否读者编号主键ISBNchar10否ISBN主键borrowdatedate是借书日期returndatedate是还书日期finemoney是罚金图书借阅表数据如图1.3.6所示。图1.3.6 图书借阅表数据2 系统实现2.1 系统框架工程分为model、view、db三个包,具体工程架构的设计如图2.1.1所示。图2.1.1 图书借阅表数据1、在.bbm.model包中创立图书借阅管理系统中的实体类:Book类,BookType类,Reader类,ReaderType类,Users类,BorrowBook类,如表2.1所示。表2.1 实体类表.bbm.model 文件名说明Book.

9、java图书类模型BookType.java图书类型类模型BorrowBook.java图书借阅类模型 Reader.java读者类模型ReaderType.java读者类型类模型Users.java用户类模型2、在.bbm.view包中创立图书借阅管理系统中的界面及功能类,如表2.2所示。表2.2 界面类表.bbm.view 文件名说明Login.java登陆界面及功能Library.java系统主界面及功能BookAdd.java图书添加界面及功能BookBorrow.java图书借阅界面及功能BookReturn.java图书归还界面及功能BookSelectandUpdate.java

10、 图书查询与修改界面及功能BooktypeAdm.java图书类型管理界面及功能ReaderAdd.java读者添加界面及功能ReaderSelectandUpdate.java读者查询与修改界面及功能ReadertypeAdm.java读者类型管理界面及功能UserAdd.java用户添加界面及功能UserDelete.java用户删除界面及功能PasswordChange.java修改密码界面及功能FineSet.java罚金设置界面及功能3、在.bbm.db包中创立图书借阅管理系统中的数据操作类,如表2.3所示。表2.3 数据操作类表.bbm.db文件名说明Dao.java根本数据操作类

11、ReaderDao.java读者操作类BookDao.java图书操作类ReaderTypeDao.java读者类型操作类BookTypeDao.java图书类型操作类BookBorrowDao.java图书借阅操作类UserDao.java用户操作类2.2 图书类型管理模块的实现2.2.1 图书类型管理模块界面的设计与实现图书类型管理模块界面的实现分为三个面板,图书类型查询面板selectjp,其中包含查询结果面板(jspjp)位于selectjp中部,selectjp整体位于整个JFrame的北部,修改信息面板infojp位于整个JFrame中部,按钮面板buttonjp位于整个JFram

12、e南部。如图2.2.1所示。图2.2.1 图书类型管理模块界面主要代码如下:selectjp.add(jspjp,BorderLayout.CENTER);this.add(selectjp,BorderLayout.NORTH);this.add(infojp,BorderLayout.CENTER);this.add(buttonjp,BorderLayout.SOUTH);2.2.2 图书类型管理模块数据操作的设计与实现本模块需要进展的数据操作如下:1、获取数据库中图书类型表中的数据主要代码如下:publicstatic List selectBookType() List list =

13、 new ArrayList(); String sql = select * from booktype; ResultSet rs = Dao.e*ecuteQuery(sql);try while (rs.ne*t() BookType bt = new BookType(); bt.setId(rs.getInt(id); bt.setTypename(rs.getString(typename); list.add(bt); catch (E*ception e) e.printStackTrace(); Dao.close();return list; 2、对指定的图书类型的图书信

14、息进展查询主要代码如下:publicstatic List selectBookTypeName(String type) List list = new ArrayList(); String sql = select * from booktype where typename like %+type+%; ResultSet rs = Dao.e*ecuteQuery(sql);try while (rs.ne*t() BookType bt = new BookType(); bt.setId(rs.getInt(id); bt.setTypename(rs.getString(typ

15、ename); list.add(bt); catch (E*ception e) e.printStackTrace(); Dao.close();return list; 3、对其进展添加操作主要代码如下:publicstaticint insertBookType(String btno,String typename) int i = 0;try String sql = insert into booktypevalues(+btno+,+typename+); i = Dao.e*ecuteUpdate(sql); catch (E*ception e) e.printStackT

16、race(); Dao.close();return i; 4、对其进展修改操作代码同3,具体sql语句如下:String sql = update booktype set id=+btno+,typename=+typename+where id=+btno+;5、对其进展删除操作代码同3,具体sql语句如下:String sql = delete from booktype where id=+id+;2.2.3 图书类型管理模块功能的设计与实现本模块实现的功能如下:获取数据库中图书类型表中的数据到JTable中,并添加鼠标监听如上图2.2.1所示。主要代码为:Object result

17、s=getSelect(BookTypeDao.selectBookType();/显示图书类别信息/添加鼠标监听class TableListener e*tends MouseAdapterOverridepublicvoid mouseClicked(MouseEvent e) int selRow = jt.getSelectedRow();/获取选择表中的*一行 保存信息btnojtf.setTe*t(jt.getValueAt(selRow, 0).toString().trim();/获取列并赋值btnamejtf.setTe*t(jt.getValueAt(selRow, 1)

18、.toString().trim(); 对查询按钮添加监听器SelectAction,对图书类别进展模糊查询,如图2.2.2所示。图2.2.2 查询功能的实现主要代码为:class SelectAction implements ActionListenerOverridepublicvoid actionPerformed(ActionEvent e) / TODO Auto-generated method stubString btname=btjtf.getTe*t().trim();BookTypeDao.selectBookTypeName(btname);Objectresult

19、s=getSelect(BookTypeDao.selectBookTypeName(btname);jt = new JTable(results, readersearch);jsp.setViewportView(jt); jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);对添加按钮添加监听器AddAction,向图书类别表中添加新的图书类别信息,例如:添加编号为8,名称为化学的图书类别信息,如图2.2.3(1)所示。图2.2.3(1)添加成功更新后,如图2.2.32所示。图2.2.3(2)添加功能的实现主要代码为:class AddAction

20、implements ActionListenerOverridepublicvoid actionPerformed(ActionEvent e) if (btnojtf.getTe*t().length()=0) JOptionPane.showMessageDialog(null, 图书类型编号不能为空!);return; if (btnamejtf.getTe*t().length() = 0) JOptionPane.showMessageDialog(null, 图书类型名称不能为空!);return; String btno= btnojtf.getTe*t().trim();

21、String btname=(String)btnamejtf.getTe*t().trim();int i=BookTypeDao.insertBookType(btno,btname);if (i=1) JOptionPane.showMessageDialog(null, 添加成功); Object results = getSelect(BookTypeDao.selectBookType();jt=new JTable(results, readersearch);jsp.setViewportView(jt);jt.setAutoResizeMode(JTable.AUTO_RES

22、IZE_OFF); 对修改按钮添加监听器UpdateAction,修改图书类别表息,例如将刚刚添加的化学修改为生物,如图2.2.4(1)所示。图2.2.4(1)修改成功更新后,如图2.2.42所示。图2.2.4(2)修改功能的实现主要代码为:class UpdateAction implements ActionListenerOverridepublicvoid actionPerformed(ActionEvent e) / TODO Auto-generated method stubString btno=btnojtf.getTe*t().trim();String btname=b

23、tnamejtf.getTe*t().trim();int i=BookTypeDao.updateBookType(btno,btname);System.out.println(i);if(i=1) JOptionPane.showMessageDialog(null, 修改成功); Object results = getSelect(BookTypeDao.selectBookType();jt=new JTable(results, readersearch);jsp.setViewportView(jt);jt.setAutoResizeMode(JTable.AUTO_RESIZ

24、E_OFF); 6、对删除按钮添加监听器DeleteAction,删除图书类别表息,例如将刚刚修改的生物删除,如图2.2.5(1)所示。图2.2.5(1)删除成功更新后,如图2.2.52所示。图2.2.5(2)删除功能的实现主要代码为:class DeleteAction implements ActionListenerOverridepublicvoid actionPerformed(ActionEvent e) / TODO Auto-generated method stubString btno=btnojtf.getTe*t().trim();int i=BookTypeDao.

25、deleteBookType(btno);System.out.println(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); 对退出按钮添加监听器OutAction,实现关闭程序功能。主要代码如下:class

26、OutAction implements ActionListenerOverridepublicvoid actionPerformed(ActionEvent e) / TODO Auto-generated method stubsetVisible(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(buttonjp,

温馨提示

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

评论

0/150

提交评论