收藏 分销(赏)

基于JAVA的图书管理系统.doc

上传人:精*** 文档编号:2002609 上传时间:2024-05-13 格式:DOC 页数:20 大小:399KB
下载 相关 举报
基于JAVA的图书管理系统.doc_第1页
第1页 / 共20页
基于JAVA的图书管理系统.doc_第2页
第2页 / 共20页
基于JAVA的图书管理系统.doc_第3页
第3页 / 共20页
基于JAVA的图书管理系统.doc_第4页
第4页 / 共20页
基于JAVA的图书管理系统.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、Java核心技术综合实验报告课程名称: 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、图书名称、类别、作者以及出版社的图书信息,并对选中的图书信息进行修改操

3、作。1.2.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是出版社publishdatedat

5、e是出版日期printtimeint是印刷次数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所示。表1

6、.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,包括读者编号、ISBN、借书日期、还书

8、日期、罚金,其中读者编号和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包中创建图书借阅管理系统中的实体类:Book类,BookT

9、ype类,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 文件名说明Login.java登陆界面及功能Library.java系统主界面及功能Bo

10、okAdd.java图书添加界面及功能BookBorrow.java图书借阅界面及功能BookReturn.java图书归还界面及功能BookSelectandUpdate.java 图书查询与修改界面及功能BooktypeAdm.java图书类型管理界面及功能ReaderAdd.java读者添加界面及功能ReaderSelectandUpdate.java读者查询与修改界面及功能ReadertypeAdm.java读者类型管理界面及功能UserAdd.java用户添加界面及功能UserDelete.java用户删除界面及功能PasswordChange.java修改密码界面及功能FineSe

11、t.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用户操作类2.2 图书类型管理模块的实现2.2.1 图书类型管理模块界面的设计与实现图书类型管理模块界面的实现分为三个面板,图书类型查询面板(selec

12、tjp),其中包含查询结果面板(jspjp)位于selectjp中部,selectjp整体位于整个JFrame的北部,修改信息面板(infojp)位于整个JFrame中部,按钮面板(buttonjp)位于整个JFrame南部。如图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);

13、2.2.2 图书类型管理模块数据操作的设计与实现本模块需要进行的数据操作如下:1、获取数据库中图书类型表中的数据主要代码如下:public static List selectBookType() List list = new ArrayList(); String sql = select * from booktype; ResultSet rs = Dao.executeQuery(sql); try while (rs.next() BookType bt = new BookType(); bt.setId(rs.getInt(id); bt.setTypename(rs.getS

14、tring(typename); list.add(bt); catch (Exception e) e.printStackTrace(); Dao.close(); return list; 2、对指定的图书类型的图书信息进行查询主要代码如下:public static List selectBookTypeName(String type) List list = new ArrayList(); String sql = select * from booktype where typename like %+type+%; ResultSet rs = Dao.executeQuer

15、y(sql); try while (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(); return list; 3、对其进行添加操作主要代码如下: public static int insertBookType(String btno,String typename) int i = 0; try St

16、ring sql = insert into booktype values(+btno+,+typename+); i = Dao.executeUpdate(sql); catch (Exception e) e.printStackTrace(); 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 f

17、rom booktype where id=+id+;2.2.3 图书类型管理模块功能的设计与实现本模块实现的功能如下:1、 获取数据库中图书类型表中的数据到JTable中,并添加鼠标监听如上图2.2.1所示。主要代码为:Object results=getSelect(BookTypeDao.selectBookType();/显示图书类别信息/添加鼠标监听class TableListener extends MouseAdapterOverridepublic void mouseClicked(MouseEvent e) int selRow = jt.getSelectedRow()

18、;/获取选择表中的某一行 保存信息btnojtf.setText(jt.getValueAt(selRow, 0).toString().trim();/获取列并赋值btnamejtf.setText(jt.getValueAt(selRow, 1).toString().trim(); 2、 对查询按钮添加监听器(SelectAction),对图书类别进行模糊查询,如图2.2.2所示。图2.2.2 查询功能的实现主要代码为:class SelectAction implements ActionListenerOverridepublic void actionPerformed(Actio

19、nEvent e) / TODO Auto-generated method stubString btname=btjtf.getText().trim();BookTypeDao.selectBookTypeName(btname); Objectresults=getSelect(BookTypeDao.selectBookTypeName(btname); jt = new JTable(results, readersearch); jsp.setViewportView(jt); jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);3、 对添加

20、按钮添加监听器(AddAction),向图书类别表中添加新的图书类别信息,例如:添加编号为“8”,名称为“化学”的图书类别信息,如图2.2.3(1)所示。4、图2.2.3(1)添加成功更新后,如图2.2.3(2)所示。图2.2.3(2)添加功能的实现主要代码为:class AddAction implements ActionListenerOverridepublic void actionPerformed(ActionEvent e) if (btnojtf.getText().length()=0) JOptionPane.showMessageDialog(null, 图书类型编号不

21、能为空!); return; if (btnamejtf.getText().length() = 0) JOptionPane.showMessageDialog(null, 图书类型名称不能为空!); return; String btno= btnojtf.getText().trim(); String btname=(String)btnamejtf.getText().trim(); int i=BookTypeDao.insertBookType(btno,btname); if (i=1) JOptionPane.showMessageDialog(null, 添加成功); O

22、bject 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)修改成功更新后,如图2.2.4(2)所示。图2.2.4(2)修改功能的实现主要代码为:class Updat

23、eAction implements ActionListenerOverridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString btno=btnojtf.getText().trim();String btname=btnamejtf.getText().trim();int i=BookTypeDao.updateBookType(btno,btname);System.out.println(i); if(i=1) JOptionPane.showMessageDialo

24、g(null, 修改成功); Object results = getSelect(BookTypeDao.selectBookType(); jt=new JTable(results, readersearch); jsp.setViewportView(jt); jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 6、对删除按钮添加监听器(DeleteAction),删除图书类别表中信息,例如将刚刚修改的“生物”删除,如图2.2.5(1)所示。图2.2.5(1)删除成功更新后,如图2.2.5(2)所示。图2.2.5(2)删除功能的实现主要代码为:c

25、lass DeleteAction implements ActionListenerOverridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString btno=btnojtf.getText().trim();int i=BookTypeDao.deleteBookType(btno);System.out.println(i);if(i=1) JOptionPane.showMessageDialog(null, 删除成功!); Object results = getSel

26、ect(BookTypeDao.selectBookType(); jt=new JTable(results, readersearch); jsp.setViewportView(jt); jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 6、 对退出按钮添加监听器(OutAction),实现关闭程序功能。主要代码如下:class OutAction implements ActionListenerOverridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated me

27、thod 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,BorderLayout.SOUTH);2.3.2 用户添加模块数据操作的设计

28、与实现用户添加模块需要进行的数据操作为向数据库的用户表中添加用名和密码。主要代码如下:public static int insertUser(String name,String pwd) int i = 0; try String sql = insert into users(name,password) values(+name+,+pwd+); i = Dao.executeUpdate(sql); catch (Exception e) e.printStackTrace(); Dao.close(); return i; 2.2.3 用户添加模块功能的设计与实现1、对添加按钮添加

29、监听器(AddActionListener),例如向数据库中添加用户名为“添加”的用户,如图2.3.2(1)所示。图2.3.2(1) 添加成功查看数据库中用户表的信息,如图2.3.2(2)所示。图2.3.2(2) 用户表中的信息主要代码为:class AddActionListener implements ActionListenerOverridepublic void actionPerformed(ActionEvent e) String user=userjtf.getText().trim();String pwd=pwdjtf.getText().trim();int i=Us

30、erDao.insertUser(user,pwd);System.out.println(i);if(i=1) JOptionPane.showMessageDialog(null, 添加成功!); 2、对关闭按钮添加监听器(CloseActionListener),实现关闭程序功能。class CloseActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) setVisible(false);其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护

31、知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。二培训的及要求培训目的安全生产目标责任书为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部签订如下安全生产目标:一、目标值:1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。2、现金安全保管,不发生盗窃事故。3、每月足额提取安全生产费用,保障安全生产投入资金的到位。4、安全培训合格率为100%。二、本单位安全工作上必须做到以下内容: 1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职

32、责,确保安全责任制在本单位全面落实,并全力支持安全工作。 2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。 3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。 4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。 5、在公司及政府的安全检查中杜绝各类违章现象。 6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。 7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。

33、8、虚心接受员工提出的问题,杜绝不接受或盲目指挥;9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。 10、必须按规定对单位员工进行培训和新员工上岗教育;11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。 三、 安全奖惩: 1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。 2、每月接受主管领导指派人员对安全生产责任状的落其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安

34、礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。二培训的及要求培训目的安全生产目标责任书为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部签订如下安全生产目标:一、目标值:1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。2、现金安全保管,不发生盗窃事故。3、每月足额提取安全生产费用,保障安全生产投入资金的到位。4、安全培训合格率为100%。二、本单位安全工作上必须做到以下内容: 1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本

35、人的安全职责,确保安全责任制在本单位全面落实,并全力支持安全工作。 2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。 3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。 4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。 5、在公司及政府的安全检查中杜绝各类违章现象。 6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。 7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。 8、虚心接受员工提出的问题,杜绝不接受或盲目指挥;9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。 10、必须按规定对单位员工进行培训和新员工上岗教育;11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。 三、 安全奖惩: 1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。 2、每月接受主管领导指派人员对安全生产责任状的落19

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服