书签 分享 收藏 举报 版权申诉 / 61
上传文档赚钱

类型第15章课程设计-图书馆管理系统(JSP应用开发与实战)课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5168241
  • 上传时间:2023-02-15
  • 格式:PPT
  • 页数:61
  • 大小:3.39MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第15章课程设计-图书馆管理系统(JSP应用开发与实战)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    15 课程设计 图书馆 管理 系统 JSP 应用 开发 实战 课件
    资源描述:

    1、本章要求本章要求:第第1515章章 课程设计课程设计图书馆管理系统图书馆管理系统u图书馆管理系统的设计目的u图书馆管理系统的开发环境要求u图书馆管理系统的功能结构及系统流程u图书馆管理系统的数据库设计u主要功能模块的界面设计u主要功能模块的关键代码u图书馆管理系统的调试运行主要内容主要内容1.课程设计目的2.功能描述3.总体设计4.数据库设计5.实现过程6.调试运行7.课程设计总结第第1515章章 课程设计课程设计图书馆管理系统图书馆管理系统15.1 15.1 课程设计目的课程设计目的 本章提供了“图书馆管理系统”作为这一学期的课程设计之一,本次课程设计旨在提升学生的动手能力,加强大家对专业理

    2、论知识的理解和实际应用。本次课程设计的主要目的如下:加深对面向对象程序设计思想的理解,能对网站功能进行分析,并设计合理的类结构。p掌握JSP网站的基本开发流程。p掌握JDBC技术在实际开发中的应用。p掌握Servlet技术在实际开发中的应用。p掌握JSP经典设计模式中Model2的开发流程。p提供网站的开发能力,能够运用合理的控制流程编写高效的代码。p培养分析问题、解决实际问题的能力。15.2 15.2 功能描述功能描述图书馆管理系统是一个小型的图书馆管理系统,该系统的主要功能如下:p美观友好的操作界面,能保证系统的易用性。p管理图书类型信息、图书信息和书架信息等功能。p读者类型和读者档案管理

    3、功能。p可以实现图书的借阅、续借和归还功能。p提供查看图书借阅排行榜功能。p具有借阅到期提醒功能。p查询图书借阅信息。p图书档案查询功能。15.3.1 构建开发环境15.3.2 网站功能结构15.3.3 系统流程图15.3 15.3 总体设计总体设计图书馆管理系统的开发环境具体要求如下:p开发平台:Windows XP(SP2)/Windows Server 2003(SP2)/Windows 7。p开发技术:JSP+Servlet+HTML 5+JavaScript。p后台数据库:MySQL。pJava开发包:Java SE Development KET(JDK)version 7 Upd

    4、ate 3。pWeb服务器:Tomcat 7.0.27。p浏览器:IE 9.0以上版本、Firefox等。p分辨率:最佳效果1024768像素。15.3.1 15.3.1 构建开发环境构建开发环境 在图书馆管理系统中主要包含6大功能模块,分别为系统设置模块、读者管理模块、图书管理模块、图书借还模块、系统查询模块和更改口令模块,它们的具体介绍如下:p系统设置:用来对系统的一些基础参数进行设置,主要包括图书管理信息、管理员设置、参数设置、书架设置等。p读者管理:用来对读者类型和读者档案进行管理,主要包括读者类型管理和读者档案管理等。p图书管理:用来对图书类型和图书档案进行管理,主要包括图书类型设置

    5、和图书档案管理等。p图书借还:用来实现图书的借阅、续借和归还,主要包括图书借阅、图书续借、图书归还等。p系统查询:用来实现图书和借阅信息的查询,主要包括图书档案查询、图书借阅查询、借阅到期提醒等。p更改口令:主要用于修改登录管理员的密码。15.3.2 15.3.2 网站功能结构网站功能结构图书馆管理系统的功能结构图如图15-1所示。图15-1 图书馆管理系统的功能结构图图书馆管理系统系统设置读者管理图书管理图书借还系统查询图书馆信息管理员设置参数设置书架设置读者类型管理读者档案管理图书类型管理图书档案管理图书借阅图书续借图书归还图书档案查询图书借阅查询借阅到期提醒更改口令退出系统图书馆管理系统

    6、的系统流程如图15-2所示。图15-2 图书馆管理系统的系统流程图15.3.315.3.3系统流程图系统流程图管理员管理图书档案信息图书档案读者管理读者档案信息读者档案图书借阅图书归还图书续借获取读者信息根据读者信息获取借阅图书信息图书借阅档案完成图书续借完成图书借阅归还相关图书图书归还档案15.4 15.4 数据库设数据库设15.4.1 实体图15.4.2 数据表设计 根据对系统所做的需求分析,规划出本系统中使用的数据库实体分别为图书档案实体、读者档案实体、图书借阅实体、图书归还实体和管理员实体。下面将介绍几个关键实体的实体图。p图书档案实体 图书档案实体包括编号、条形码、书名、类型、作者、

    7、译者、出版社、价格、页码、书架、库存总量、录入时间、操作员和是否删除等属性。其中“是否删除属性”用于标记图书是否被删除,由于图书馆中的图书信息不可以被随意删除,所以即使当某种图书不能再借阅,而需要删除其档案信息时,也只能采用设置删除标记的方法。图书档案实体的实体图如图15-3所示。图15-3 图书档案实体图15.4.1 15.4.1 实体图实体图图书编号条形码书名类型作者出版社价格页码书架p读者档案实体 读者档案实体包括编号、姓名、性别、条形码、职业、出生日期、有效证件、证件号码、电话、电子邮件、登记日期、操作员、类型和备注等属性。读者档案实体的实体图如图15-4所示。图15-4 读者档案实体

    8、图读者编号条形码姓名类型职业电子邮件电话证件号码有效证件p借阅档案实体 借阅档案实体包括编号、读者编号、图书编号、借书时间、应还时间、操作员和是否归还等属性。借阅档案实体的实体图如图15-5所示。图15-5 借阅档案实体图借阅编号读者编号图书编号借书时间应还时间操作员是否归还p归还档案实体归还档案实体包括编号、读者编号、图书编号、归还时间和操作员等属性。借阅档案实体的实体图如图15-6所示。图15-6 归还档案实体图归还编号读者编号图书编号归还时间操作员结合实际情况及对用户需求的分析,图书馆管理系统的db_library数据库中需要创建如图15-7所示的12张数据表。图15-7 db_libr

    9、ary数据库所包含的数据表15.4.2 15.4.2 数据表设计数据表设计下面将给出这些数据表的结构及说明。ptb_manager(管理员信息表)管理员信息表主要用来保存管理员信息。表tb_manager的结构如表15-1所示。表15-1表tb_manager的结构及说明字 段 名数 据 类 型是 否 为 空是 否 主 键默 认 值描 述idINT(10)UnsignedNoYesI D(自动编号)nameVARCHAR(30)YesNULL管 理 员名称pwdVARCHAR(30)YesNULL密码ptb_purview(权限表)权限表主要用来保存管理员的权限信息,该表中的id字段与管理员信

    10、息表(tb_manager)中的id字段相关联。表tb_purview的结构如表15-2所示。表15-2表tb_purview的结构及说明字 段 名数 据 类 型是 否 为 空是 否 主 键默 认 值描 述idINT(11)NoYes0管理员ID号syssetTINYINT(1)Yes0系统设置readersetTINYINT(1)Yes0读者管理booksetTINYINT(1)Yes0图书管理borrowbackTINYINT(1)Yes0图书借还sysqueryTINYINT(1)Yes0系统查询ptb_bookinfo(图书信息表)图书信息表主要用来保存图书信息。表tb_bookinf

    11、o的结构如表15-3所示。表15-3表tb_bookinfo的结构及说明字 段 名数 据 类 型是 否 为 空是 否 主 键默 认 值描 述barcodeVARCHAR(30)YesNULL条形码booknameVARCHAR(70)YesNULL书名typeidINT(10)unsignedYesNULL类型authorVARCHAR(30)YesNULL作者translatorVARCHAR(30)YesNULL译者ISBNVARCHAR(20)YesNULL出版社priceFLOAT(8,2)YesNULL价格pageINT(10)UnsignedYesNULL页码bookcaseINT

    12、(10)UnsignedYesNULL书架inTimeDATEYesNULL录入时间operatorVARCHAR(30)YesNULL操作员TINYINT(1)Yes0是否删除idINT(11)NoYesID(自动编号)ptb_parameter(参数设置表)参数设置表主要用来保存办证费及书证的有效期限等信息。表tb_parameter的结构如表15-4所示。表15-4表tb_parameter的结构及说明字 段 名数 据 类 型是 否 为 空是 否 主 键默 认 值描 述idINT(10)UnsignedNoYesID(自动编号)costINT(10)UnsignedYesNULL办证费v

    13、alidityINT(10)UnsignedYesNULL有 效 期限ptb_booktype(图书类型表)图书类型表主要用来保存图书类型信息。表tb_booktype的结构如表15-5所示。表15-5表tb_booktype的结构及说明字 段 名数 据 类 型是 否 为 空是 否 主 键默 认 值描 述idINT(10)UnsignedNoYesI D(自动编号)typenameVARCHAR(30)YesNULL类 型 名称daysINT(10)UnsignedYesNULL可 借 天数ptb_bookcase(书架信息表)书架信息表主要用来保存书架信息。表tb_bookcase的结构如表

    14、15-6所示。表15-6表tb_bookcase的结构及说明字 段 名数 据 类 型是 否 为 空是 否 主 键默 认 值描 述idINT(10)UnsignedNoYesI D(自动编号)nameVARCHAR(30)YesNULL书 架 名称ptb_borrow(图书借阅信息表)图书借阅信息表主要用来保存图书借阅信息。表tb_borrow的结构如表15-7所示。表15-7表tb_borrow的结构及说明字 段 名数 据 类 型是 否 为 空是 否 主 键默 认 值描 述idINT(10)UnsignedNoYesI D(自动编号)readeridINT(10)UnsignedYesNULL

    15、读 者 编号bookidINT(10)YesNULL图 书 编号borrowTimeDATEYesNULL借 书 时间backtimeDATEYesNULL应 还 时间operatorVARCHAR(30)YesNULL操作员ifbackTINYTIN(1)Yes0是 否 归还ptb_giveback(图书归还信息表)图书归还信息表主要用来保存图书归还信息。表tb_giveback的结构如表15-8所示。表15-8表tb_giveback的结构及说明字 段 名数 据 类 型是 否 为 空是 否 主 键默 认 值描 述idINT(10)UnsignedNoYesI D(自动编号)readerid

    16、INT(11)YesNULL读 者 编号bookidINT(11)YesNULL图 书 编号backTimeDATEYesNULL归 还 时间operatorVARCHAR(30)YesNULL操作员ptb_readertype(读者类型信息表)读者类型信息表主要用来保存读者类型信息。表tb_readertype的结构如表15-9所示。表15-9表tb_readertype的结构及说明字 段 名数 据 类 型是 否 为 空是 否 主 键默 认 值描 述idINT(10)UnsignedNoYesI D(自动编号)nameVARCHAR(50)YesNULL名称numberINT(4)YesNU

    17、LL可 借 数量ptb_reader(读者信息表)读者信息表主要用来保存读者信息。表tb_reader的结构如表15-10所示。表15-10表tb_reader的结构及说明字 段 名数 据 类 型是 否 为 空是 否 主 键默 认 值描 述idI N T(1 0)UnsignedNoYesID(自动编号)nameVARCHAR(20)YesNULL姓名sexVARCHAR(4)YesNULL性别barcodeVARCHAR(30)YesNULL条形码vocationVARCHAR(50)YesNULL职业birthdayDATEYesNULL出生日期paperTypeVARCHAR(10)Ye

    18、sNULL有效证件paperNOVARCHAR(20)YesNULL证件号码telVARCHAR(20)YesNULL电话emailVARCHAR(100)YesNULL电子邮件createDateDATEYesNULL登记日期operatorVARCHAR(30)YesNULL操作员remarkTEXTYesNULL备注typeidINT(11)YesNULL类型ptb_library(图书馆信息表)图书馆信息表主要用来保存图书馆信息。表tb_library的结构如表15-11所示。表15-11表tb_library的结构及说明字 段 名数 据 类 型是 否 为 空是 否 主 键默 认 值描

    19、 述idINT(10)UnsignedNoYesID(自动编号)librarynameVARCHAR(50)YesNULL图 书 馆 名称curatorVARCHAR(10)YesNULL馆长telVARCHAR(20)YesNULL联系电话addressVARCHAR(100)YesNULL联系地址emailVARCHAR(100)YesNULL联系邮箱urlVARCHAR(100)YesNULL图 书 馆 网址createDateDATEYesNULL建馆时间introduceTEXTYesNULL图 书 馆 简介ptb_publishing(出版社信息表)出版社信息表主要用来保存出版社信

    20、息。表tb_publishing的结构如表15-12所示。表15-12表tb_publishing的结构及说明字 段 名数 据 类 型是 否 为 空是 否 主 键默 认 值描 述ISBNVARCHAR(20)NoYesISBN号pubnameVARCHAR(30)YesNULL出 版 社名称15.5 15.5 实现过程实现过程15.5.1 系统登录设计15.5.2 主界面设计15.5.3 图书借阅设计15.5.4 图书续借设计15.5.5 图书归还设计 系统登录是进入图书馆管理系统的入口。在运行本系统后,首先进入的是系统登录页面,在该页面中,系统管理员可以通过输入正确的管理员名称和密码登录到系

    21、统,当用户未输入管理员名称或密码时,系统会通过JavaScript进行判断,并给予提示信息。系统登录的运行结果如图15-8所示。图15-8 系统登录的设计结果15.5.1 15.5.1 系统登录设计系统登录设计1界面设计 系统登录页面主要用于收集管理员的输入信息及通过自定义的JavaScript函数验证输入信息是否为空,该页面中所涉及到的表单元素如表15-13所示。表15-13系统登录页面所涉及的表单元素名 称元 素 类 型重 要 属 性含 义form1formm e t h o d=p o s t action=manager?action=login管理员登录表单nametextsize=

    22、25管理员名称pwdpasswordsize=25管理员密码Submitsubmitvalue=确定 onclick=return check(form1)“确定”按钮Submit3resetvalue=重置“重置”按钮Submit2buttonvalue=关闭 onClick=window.close();“关闭”按钮编写自定义的JavaScript函数,用于判断管理员名称和密码是否为空。代码如下:function check(form)if(form.name.value=)/判断管理员名称是否为空alert(请输入管理员名称!);form.name.focus();return fals

    23、e;if(form.pwd.value=)/判断密码是否为空alert(请输入密码!);form.pwd.focus();return false;2关键代码 在实现系统登录时,主要是如何在Servlet中获取提交的登录信息,以及验证输入的管理员信息是否合法,如果合法则将将页面重定向到系统主界面,否则给出提示信息。这时将涉及到以下两个方法。/在Servlet中编写的方法,用于获取提交的登录信息,以及调用DAO方法验证登录信息,/并根据验证结果做出相应的处理public void managerLogin(HttpServletRequest request,HttpServletRespons

    24、e response)throws ServletException,IOException ManagerForm managerForm=new ManagerForm();/实例化managerForm类managerForm.setName(request.getParameter(name);/获取管理员名称并设置name属性managerForm.setPwd(request.getParameter(pwd);/获取管理员密码并设置pwd属性/调用ManagerDAO类的checkManager()方法int ret=managerDAO.checkManager(manager

    25、Form);if(ret=1)/*将登录到系统的管理员名称保存到session中*/HttpSession session=request.getSession();session.setAttribute(manager,managerForm.getName();/*/转到系统主界面request.getRequestDispatcher(main.jsp).forward(request,response);else request.setAttribute(error,您输入的管理员名称或密码错误!);request.getRequestDispatcher(error.jsp).fo

    26、rward(request,response);/转到错误提示页public int checkManager(ManagerForm managerForm)int flag=0;/标记变量,值为0时表示不成功,值为1时表示成功/连接SQL语句,并过滤管理员名称中的危险字符String sql=SELECT*FROM tb_manager where name=+ChStr.filterStr(managerForm.getName()+;ResultSet rs=conn.executeQuery(sql);try if(rs.next()/获取输入的密码并过滤输入字符串中的危险字符Str

    27、ing pwd=ChStr.filterStr(managerForm.getPwd();if(pwd.equals(rs.getString(3)flag=1;/表示验证成功 else flag=0;/表示验证不成功 else flag=0;/表示验证不成功 catch(SQLException ex)flag=0;/表示验证不成功 finally conn.close();/关闭数据库连接return flag;在实现系统登录时,从网站安全的角度考虑,仅仅上面介绍的系统登录页面并不能有效的保存系统的安全,一旦系统主界面的地址被他人获得,就可以通过在地址栏中输入系统的主界面地址而直接进入到系

    28、统中。这时,我们可以在每个页面的顶端添加以下验证用户是否登录的代码。这样,当系统调用每个页面时,都会判断session变量manager是否存在,如果不存在,将页面重定向到系统登录页面。管理员通过“系统登录”模块的验证后,可以登录到图书馆管理系统的主界面。系统主界面主要包括Banner信息栏、导航栏、排行榜和版权信息4部分。其中,导航栏中的功能菜单将根据登录管理员的权限进行显示。例如,系统管理员mr登录后,将拥有整个系统的全部功能,因为它是超级管理员。主界面的设计效果如图15-9所示。图15-9 主界面的设计效果15.5.2 15.5.2 主界面设计主界面设计 导航栏 版权信息 Banner

    29、信息栏 排行榜 1界面设计 在如图15-9所示的主界面中,Banner信息栏、导航栏和版权信息,并不是仅存在于主界面中,其他功能模块的子界面中也需要包括这些部分。因此,可以将这几个部分分别保存在单独的文件中,这样,在需要放置相应功能时只需包含这些文件即可,主界面的布局如图15-10所示。图15-10 主界面的布局 banner.jsp navigation.jsp main.jsp copyright.jsp 应用指令包含文件的方法进行主界面布局的代码如下:当前位置:首页>>> 在上面的代码中,第一行的代码,用于应用指令包含banner.jsp文件,该文件用于显示B

    30、anner信息及当前登录管理员;第二行的代码,用于应用指令包含 navigation.jsp文件,该文件用于显示当前系统时间及系统导航菜单;最后一行的代码,用于应用指令包含copyright.jsp文件,该文件用于显示版权信息。2关键代码在实现主界面时,需要显示图书借阅排行榜,所以需要编写DAO方法从数据库中统计出借阅排行数据,并保存到Collection集合中。从数据库中统计借阅排行数据的关键代码如下:public Collection bookBorrowSort()String sql=select*from(SELECT bookid,count(bookid)as degree FR

    31、OM+tb_borrow group by bookid)as borr join(select b.*,c.name as bookcaseName+,p.pubname,t.typename from tb_bookinfo b left join tb_bookcase+c on b.bookcase=c.id join tb_publishing p on b.ISBN=p.ISBN join +tb_booktype t on b.typeid=t.id where b.del=0)+as book on borr.bookid=book.id order by borr.degre

    32、e desc limit 10;Collection coll=new ArrayList();/创建并实例化Collection对象BorrowForm form=null;/声明BorrowForm对象ResultSet rs=conn.executeQuery(sql);/执行查询语句try while(rs.next()form=new BorrowForm();/实例化BorrowForm对象 form.setBookId(rs.getInt(1);/获取图书ID form.setDegree(rs.getInt(2);/获取借阅次数 form.setBookBarcode(rs.g

    33、etString(3);/获取图书条形码 form.setBookName(rs.getString(4);/获取图书名称 form.setAuthor(rs.getString(6);/获取作者 form.setPrice(Float.valueOf(rs.getString(9);/获取定价 form.setBookcaseName(rs.getString(16);/获取书架名称 form.setPubName(rs.getString(17);/获取出版社 form.setBookType(rs.getString(18);/获取图书类型 coll.add(form);/保存到Coll

    34、ection集合中 管理员登录后,选择“图书借还/图书借阅”命令,进入到图书借阅页面,在该页面中的“读者条形码”文本框中输入读者的条形码(如:20120224000001)后,单击“确定”按钮,系统会自动检索出该读者的基本信息和未归还的借阅图书信息。如果找到对应的读者信息,就将其显示在页面中,此时输入图书的条形码或图书名称后,单击“确定”按钮,借阅指定的图书,图书借阅页面的运行结果如图15-11所示。图15-11 图书借阅页面15.5.3 15.5.3 图书借阅设计图书借阅设计1界面设计 图书借阅页面总体上可以分为两个部分:一部分用于查询并显示读者信息;另一部分用于显示读者的借阅信息和添加读者

    35、借阅信息。图书借阅页面在Dreamweaver中的设计效果如图15-12所示图15-12 在Dreamweaver中图书借阅页面的设计效果 由于系统要求一个读者只能同时借阅一定数量的图书,并且该数量由读者类型表tb_readerType中的可借数量number决定,所以这里编写了自定义的JavaScript函数checkbook(),用于判断当前选择的读者是否还可以借阅新的图书,同时该函数还具有判断是否输入图书条形码或图书名称的功能,代码如下:function checkbook(form)if(form.barcode.value=)/判断是否输入读者条形码alert(请输入读者条形码!);

    36、form.barcode.focus();return;if(form.inputkey.value=)/判断查询关键字是否为空alert(请输入查询关键字!);form.inputkey.focus();return;if(form.number.value-form.borrowNumber.value=0)/判断是否可以再借阅其他图书alert(您不能再借阅其他图书了!);return;form.submit();/提交表单说明:在JavaScript中比较两个数值型文本框的值时,不使用运算符“=”,而是将这两个值相减,再判断其结果。2关键代码 在实现图书借阅时,需要编写Servlet方

    37、法,用于实现图书借阅。实现图书借阅的方法bookborrow()的具体代码如下:/编写Servlet方法,实现图书借阅private void bookborrow(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException /查询读者信息 readerForm.setBarcode(request.getParameter(barcode);/获取读者条形码/根据读者条形码获取读者信息 ReaderForm reader=(ReaderForm)readerDAO.qu

    38、eryM(readerForm);request.setAttribute(readerinfo,reader);/保存读者信息到request中 /查询读者的借阅信息request.setAttribute(borrowinfo,borrowDAO.borrowinfo(request.getParameter(barcode);/完成借阅 String f=request.getParameter(f);/获取查询条件 String key=request.getParameter(inputkey);/获取输入的关键字 if(key!=null&!key.equals()/判断是否有符合

    39、条件的图书 String operator=request.getParameter(operator);BookForm bookForm=bookDAO.queryB(f,key);/根据查询条件获取图书信息 if(bookForm!=null)int ret=borrowDAO.insertBorrow(reader,bookDAO.queryB(f,key),operator);/保存图书借阅信息 if(ret=1)request.setAttribute(bar,request.getParameter(barcode);request.getRequestDispatcher(bo

    40、okBorrow_ok.jsp).forward(request,response);else/保存提示信息到request中 request.setAttribute(error,添加借阅信息失败!);/转到错误提示页 request.getRequestDispatcher(error.jsp).forward(request,response);else request.setAttribute(error,没有该图书!);/保存提示信息到request中/转到错误提示页 request.getRequestDispatcher(error.jsp).forward(request,re

    41、sponse);elserequest.getRequestDispatcher(bookBorrow.jsp).forward(request,response);在实现图书借阅的方法中,还需要调用ReaderDAO类的queryM()方法、BorrowDAO类的borrowinfo()方法、BookDAO类的queryB()方法和BorrowDAO类的insertBorrow()方法,具体代码如下:/ReaderDAO类的queryM()方法,用于查询读者信息public ReaderForm queryM(ReaderForm readerForm)ReaderForm readerFo

    42、rm1=null;String sql=;if(readerForm.getId()!=null)/根据读者ID查询读者信息sql=select r.*,t.name as typename,t.number from tb_reader r left join tb_readerType t on r.typeid=t.id where r.id=+readerForm.getId()+;else if(readerForm.getBarcode()!=null)/根据读者条形码查询读者信息sql=select r.*,t.name as typename,t.number from tb_

    43、reader r left join tb_readerType t on r.typeid=t.id where r.barcode=+readerForm.getBarcode()+;ResultSet rs=conn.executeQuery(sql);/执行查询语句String birthday=;try while(rs.next()readerForm1=new ReaderForm();readerForm1.setId(Integer.valueOf(rs.getString(1);/获取读者IDreaderForm1.setName(rs.getString(2);/获取读者

    44、姓名readerForm1.setSex(rs.getString(3);/获取读者性别readerForm1.setBarcode(rs.getString(4);/获取读者条形码readerForm1.setVocation(rs.getString(5);/获取职业birthday=rs.getString(6);/获取生日readerForm1.setBirthday(birthday=null?:birthday);readerForm1.setPaperType(rs.getString(7);/获取证件类型readerForm1.setPaperNO(rs.getString(8

    45、);/获取证件号码readerForm1.setTel(rs.getString(9);/获取联系电话readerForm1.setEmail(rs.getString(10);/获取E-mail地址readerForm1.setCreateDate(rs.getString(11);/获取创建日期readerForm1.setOperator(rs.getString(12);/获取操作员readerForm1.setRemark(rs.getString(13);/获取备注readerForm1.setTypeid(rs.getInt(14);/获取读者类型IDreaderForm1.se

    46、tTypename(rs.getString(15);/获取读者类型名称readerForm1.setNumber(rs.getInt(16);/获取可借数量 catch(SQLException ex)conn.close();/关闭数据库连接return readerForm1;/BorrowDAO类的borrowinfo()方法,用于查询借阅信息public Collection borrowinfo(String str)String sql=select borr.*,book.bookname,book.price,pub.pubname,+bs.name bookcasename

    47、,r.barcode from(select*from tb_borrow +where ifback=0)as borr left join tb_bookinfo book on borr.bookid+=book.id join tb_publishing pub on book.isbn=pub.isbn join+tb_bookcase bs on book.bookcase=bs.id join tb_reader r on+borr.readerid=r.id where r.barcode=+str+;ResultSet rs=conn.executeQuery(sql);/执

    48、行查询语句 Collection coll=new ArrayList();BorrowForm form=null;try while(rs.next()form=new BorrowForm();form.setId(Integer.valueOf(rs.getInt(1);/获取ID号 form.setBorrowTime(rs.getString(4);/获取借阅时间 form.setBackTime(rs.getString(5);/获取归还时间 form.setBookName(rs.getString(8);/获取图书名称 form.setPrice(Float.valueOf(

    49、rs.getFloat(9);/获取定价 form.setPubName(rs.getString(10);/获取出版社 form.setBookcaseName(rs.getString(11);/获取书价名称 coll.add(form);/添加借阅信息到Collection集合中 catch(SQLException ex)System.out.println(借阅信息:+ex.getMessage();/输出异常信息 conn.close();/关闭数据库连接 return coll;/BookDAO类的queryB()方法,用于查询图书信息public BookForm queryB

    50、(String f,String key)BookForm bookForm=null;String sql=select b.*,c.name as bookcaseName,p.pubname as publishing,t.typename+from tb_bookinfo b left join tb_bookcase c on b.bookcase=c.id join+tb_publishing p on b.ISBN=p.ISBN join tb_booktype t on+b.typeid=t.id where b.+f+=+key+;/查询图书信息的SQL语句 ResultSe

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第15章课程设计-图书馆管理系统(JSP应用开发与实战)课件.ppt
    链接地址:https://www.163wenku.com/p-5168241.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库