java毕业设计——基于JSP+sqlserver的企业人事管理系统设计与实现(毕业论文+程序源码)——人事管理系统

基于JSP+sqlserver的企业人事管理系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于JSP+sqlserver的企业人事管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。

  2. 经过分析,我使用SUN公司的金思平JSP开发工具,利用其提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

  3. 论文从人事管理信息系统的初步调查开始,详细介绍人力资源管理信息系统的需求分析、和数据流程分析,并进行了系统总体结构设计、数据结构和数据库设计、输入输出设计等。


2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:10598个字30页
包含内容:全套源码+配整论文
开题报告、论文答辩、课题报告等ppt模板推荐下载方式:
在这里插入图片描述


3、关键词

人事管理信息系统 数据流程 系统结构设计 数据结构设计

4、毕设简介

提示:以下为毕业论文的简略介绍,项目完整源码及完整毕业论文下载地址见文末。

前 言
人事管理信息系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起资料一致性和完整性强、资料安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。

本系统主要是基于Windows操作平台,主要使用JAVA SERVER PAGE来设计开发,该开发环境能很好的兼容其他的开发语言(如,SOL,Select等语言),不仅提供了大量的生成器,表设计器,更显著的是它还提供了各种各样的向导。因此,开发起来将极为方便,快捷!

人事管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。人事档案管理系统一般包括对人事档案的统计、查询、更新、报表输出等功能。

如果人工直接统计的话,工作量将十分庞大,特别是,如果企业员工有几万或几十万人时,人工统计将变得不可能想象。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。用计算机可使人们从繁重而又单调的统计运算中解脱出来,仅用一些简单的操作便可及时准确地获得需要的信息。

作为计算机应用的一部分,使用计算机对人事信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一个管理软件成为很有必要的事情, 在设计一个系统时,首先要做好需求分析。合理地运用好JAVA SERVER PAGE的基本方法,建立一个适合企业的人事管理系统。

第一章 概 述
1.1背景
人事管理系统是针对现在公司的大量业务处理工作而开发的管理软件。根据用户的要求,实现人员基本情况管理、职位调整管理等几个方面的功能。
用户通过输入姓名、密码、职工履历等基本信息,由系统自行生成相应的统计数据及各类统计报表以供用户查询、打印,另外操作人员还可以对这些基本信息进行定期的更新和删除, 人事管理系统力求给用户方便快捷的途径去管理这些繁琐的数据
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事档案的管理势在必行。当前企业信息管理系统正在从C/S结构向B/S结构转移,但是由于安全性等方面的因素,C/S结构的管理信息系统仍然占据企业管理信息系统的主流。

1.2系统的目标和意义
省略

1.3 开发设计思想
能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。
人事管理信息系统主要包含员工基本信息,工作情况,学历,职位情况等各方面信息,内容比较简单。同时还综合了其他系统的功能,总结归纳出所需现有的功能。主要是为人事信息进行服务,对职位的变动、员工资料查询,统计修改等功能。总体上说具有编辑,查询,员工管理,等功能。
在现有的社会中如果再用手工管理这样一个庞大的业务,那不仅对人的脑、身体都带来很多的不便,所以我们现在是急切需要这样的一个系统来管理,我的这个设计是最基本的管理。

1.4 作者的主要贡献
本人独立完成了此课题的研究与开发,包括调研、分析、设计、编码、测试、文档编写等内容。

1.5 前景展望
此系统具有很强的实用性,只要根据不同单位的具体使用情况稍加修改,就可以把它应用到实际管理工作中。
当然在此毕业设计过程中,人力资源管理系统的需求是自己通过借鉴同类软件和查阅相关书籍而提出的,与实际或具体企业可能有出入,这必将给以后软件的推广运用带来麻烦,不过通过不断的升级将会得到解决。看来这个系统的前景是很大的,那么这个系统的制作难度也会加大我们还需不断的探索怎么做好一个好的系统。

第二章 使用工具或开发环境的描述
2.1 数据库平台
运行环境:Windows
2.2 开发软件
现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具有很多:
在此我选用JAVA SERVER PAGE

2.3 软件介绍
JSP(JAVA SERVER PAGE)是一种网站制作技术,由于其强大的数据处理能力及良好的兼容性,使其成为数据库应用程序开发人员强有力的工具而广为使用
Java Server Page 简介
Java Server Page或简称为JSP是由Sun公司在Java语言上开发出来的一种动态网页制作技术,它提供了一种建立动态网页的简单方法,并为开发人员提供了一个Server端框架,基于这个框架,开发人员可以综合使用 HTML,XML,JAVA语言以及其他脚本语言,灵活,快速地创建和维护动态网页,特别是目前的商业系统。作为JavaTM 技术的一部分,JSP能够快速的开发出基于所有Web服务器和应用服务器环境,独立于平台的应用程序,而且具有非常强的可伸缩性。同时,JSP把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变祖国网页布局。
这样跨平台的特性己包含了目前大部份网站服务器配置环境,再加上它的语法写作方式可媲美ASP般的易学易懂,而且在网络安全技术方面甚至已超越ASP技术。所以,相信很快的时间内极有可能取代现有网页编译技术,而成为商业网站的新标准。在本节中我们将会讨论JSP技术的特性,让您更加了解这项新技术。

与其他数据库管理系统相比,JAVA SERVER PAGE具有用户的普遍性、功能的完整性、工具的易用性和规模的可伸缩性等特点。
省略

Microsoft SQLServer 简介
SQLServer是一个基于关系型数据库模型建立的数据库管理系统软件(DBMS)。它帮助用户方使地得到所需信息,并提供强大的数据处理工具。它可以帮助用户组织和共享数据库信息,以便于根据数据库信息作出有效的决策。另外,仅有这样—个数据库管理系统软件(DBMS),则只能进行一些信息系统所需要的简单数据处理,且对操作者有较高的操作技能要求。因此,信息系统的开发者都是在某种数据库管理系统软件〔DBMS〕环境下编写相应的应川程序,以形成一个能够满足应用需求且操作尽可能简单的应用型信息系统,这被称之为二次开发。
省略

第三章 需求调查
3.1用户需求分析
在进入系统之前,要进行身份确认,只有用户名和用户密码都相符的用户方可进入本系统,为了防止不合法用户对数据的察看和修改,本系统把用户分为三个级别:员工和管理员,员工包括管理员不仅拥有对数据的查询、统计。打印权限,还对用户的使用权限进行控制,管理员可以设定用户名、密码和其权限,还可以对纪录进行增加、删除、修改等操作。当用户要进入系统是必须先输入用户名和密码,按“确认”按钮后,系统辨别用户身份,对合法用户根据用户的权限赋予相应的使用功能。
3.2系统功能需求分析
人事管理系统的主要任务是对人事档案进行整理,使得能方便快捷地对人事档案进行查询、统计、更新,并且能按一定要求输出报表。
通过该系统,使企业的人事管理工作系统化、规范化、自动化,从而提高企业人事管理的效率
3.3性能需求分析
①灵活的数据记录编辑功能,可以随时对记录进行增加,修改,更新,删除,浏览等编辑操作。并将查询方式有机溶入编辑界面,可以实现对某项记录定位,再进行编辑,修改,更新。
②多个数据库表的任意组合条件的查询。便于在实际档案管理操作中呆对保种情况,多种条件下的人员情况进行统计查看
③具备分级用户权限管理设置,以确保档案的保密性和安全性。
④具有分类统计,使用图表显示的功能,该统计图表可根据数据库中记录情况的变化而变化

第四章 数据库设计
4.1数据(处理)流程分析
系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。在系统功能分析的基础上,考虑JAVA SERVER PAGE程序编制的特点,得到如下所示的系统流程图。(如图4-1)
在这里插入图片描述

数据流程图 (图4-1)
一个公司可分为好几个部门,每个部门的人员都有自己的资料,而公司也会因为本身的利益会对一些员工进行部门的调动,也会因为员工工作的态度或是工作能力进行职位的变更。
4.2局部E-R图

在这里插入图片描述

家庭信息表E-R图(图4-2)

在这里插入图片描述

职员信息表E-R图(图4-3)

4.3全局E-R图

在这里插入图片描述

全局E-R图(图4-4)
4.4逻辑结构设计
表4-1 职员信息表结构
在这里插入图片描述
在这里插入图片描述

表4-3 家庭成员表结构
在这里插入图片描述

第五章 系统设计
5.1 整体结构设计
人事档案管理系统主要包含职工个人自然情况,工作情况,简历,学历情况等各方面信息,内容比较简单。同时还综合考虑档案管理工作的性质,总结归纳出所需实现的功能。主要是为人事信息进行服务,对员工的变动、员工资料、以及员工资料的查询,统计等功能。总体上说具有编辑,查询,员工管理,统计等功能。
灵活的数据记录编辑功能,可以随时对记录进行增加,修改,删除, 等编辑操作。并将查询方式有机溶入查询界面,可以实现对某项记录定位。
多个数据库表的任意组合条件的查询。便于在实际档案管理操作中呆对保种情况,多种条件下的人员情况进行统计查看。
具有比较友好的人机界面,各种操作可以在直观的界面上通过人机交互式进行。
管理员功能,对员工信息进行添加,修改,删除操作。

5.2 主要结构(或功能)的设计

在这里插入图片描述

图5-1 结构功能图
功能:用户登录进入人事管理系统。系统启动后,首先要做的就是用户登录。若不登录系统,所有功能都无法使用。用户只有登录系统后,根据其具有的权限,才能执行一定的操作。
操作:进入该功能后,要求输入员工的登录名及其口令,只有其登录名和口令完全正确,才能进入人事管理信息系统。系统会根据为用户分配的权限,设置其对应的功能为有效,用户就可操作该功能。

5.3各种功能
一个企业的员工都很需要简便的方法来查询自己想要了解的东西于是就生成了查询,只要员工把想查询的条件输入变能显现结果
查找功能:对人员信息的查询功能,包括唯一条件查询和多条件查询。
查找按钮功能。会调出另外一个窗口来显示用户所要查询的符合条件的所有员工的资料。根据信息中的各字段,选择相应的条件操作符输入相应的值即可进行信息查询。该模块的主要分为两部分:一是完成选择要查找的字段、条件操作符等功能;二是用来显示用户进行查询的完整条件及查询、退出按钮。当查找的条件选择完毕,点击查找按钮,在显示部分显示出来后,点击查找按钮才正式完成该模块的查找功能。
打印功能:员工自定义的其它资料打印; 职工列表打印,表栏内容可任意调整,职工信息的任意选入;部门列表打印,以树状结构显示所有部门的分支信息。
选中一张表,点击打印。
在默认情况下,打印服务的与活动目录的集成意味着用户能够访问限制范围内的所有打印服务器,浏览满足自己需求的打印机。使用包含标准的服务器和具有逻辑的打印机命名规范将会使企业收益最大化,使用一个仔细研究的打印机名称标准、描述和位置标签将会为企业提供一个非常容易访问和高效的打印环境。

5.4操作界面设计和代码
 封面与代码

本系统采用的数据库是JSP数据库,使用是JSP代码访问方式,它通过在程序中的一段代码与数据库建立连接。
 代码设置如下:

按钮“进入系统”代码设计如下
do form 登陆界面
*read events
thisform.release
如果不相进入系统点击“退  出”代码如下:
thisform.release
clear events
滚动字幕的设置通过一个时间按钮来控制,具体代码如下:
if thisform.label5.left=thisform.width
     thisform.label5.left=0
else 
     thisform.label5.left=thisform.label5.left+1
endif
i=int(rand()*255)
j=int(rand()*255)
k=int(rand()*255)
thisform.label1.forecolor=rgb(i,j,k)

 登入界面与代码

在这个界面中利用了与表的绑定,可以根据原先设置的名字和相应的密码,这样经过系统的验证便可进入人事管理系统了。
绑定与表中相应的字段,只需右击生成器,选择表和字段就可以了。
 按钮“确定”代码设计如下:

if thisform.text2.value="123"
    messagebox("欢迎进入人事管理系统")
    do form "主界面"
    else
    messagebox("密码不正确,请重新输入")
    thisform.text2.value=""
    endif
thisform.release
	在对象按扭“取消” 代码设计如下:
thisform.release
clear events

 主界面与代码
在这个界面里可以操作增,删,改等操作,主要的功能都是在这个界面当中。
 “增加记录”的界面与代码如下:

如果新进一个员工,在这个表单中就可以增加相应的信息,以便日后管理和查找方便。
 “增加记录”的代码如下:
do form 增加记录
  thisform.release
 “确定”的代码如下:

if empty(alltrim(thisform.txtID.value))
  messagebox("职员号不能为空",48,"错误")
  thisform.txtID.setfocus
else
  inID=alltrim(thisform.txtID.value)
  inName=alltrim(thisform.txtName.value)
  inSex=alltrim(thisform.txtSex.value)
  inBirth=alltrim(thisform.txtBirth.value)
  inLearn=alltrim(thisform.txtLearn.value)
  inPolitics=alltrim(thisform.txtPolitics.value)
  inPhone=alltrim(thisform.txtPhone.value)
  inAddress=alltrim(thisform.txtAddress.value)
  inDepartment=alltrim(thisform.txtDepartment.value)
  inFunction=alltrim(thisform.txtFunction.value)
  inDate=alltrim(thisform.txtDate.value)
  inMemo=alltrim(thisform.edtMemo.value)
  set order to 职员号
  seek inID
  if !found()
    insert into 职员信息表 value(inID,inName,inSex,inBirth,inLearn,inPolitics,inPhone,inAddress,inDepartment,inFunction,inDate,inMemo)
    messagebox("添加成功!",48,"信息")
    thisform.txtID.value=''
    thisform.txtName.value=''
    thisform.txtSex.value=''
    thisform.txtBirth.value=''
    thisform.txtLearn.value=''
    thisform.txtPolitics.value=''
    thisform.txtPhone.value=''
    thisform.txtAddress.value=''
    thisform.txtDepartment.value=''
    thisform.txtFunction.value=''
    thisform.txtDate.value=''
    thisform.edtMemo.value=''
  else
    messagebox("此职员号已存在,请另输一个",48,"错误")
    thisform.txtID.value=''
    thisform.txtID.setfocus
  endif
	“取消“的代码如下:
thisform.txtID.value=''
thisform.txtName.value=''
thisform.txtSex.value=''
thisform.txtBirth.value=''
thisform.txtLearn.value=''
thisform.txtPolitics.value=''
thisform.txtPhone.value=''
thisform.txtAddress.value=''
thisform.txtDepartment.value=''
thisform.txtFunction.value=''
thisform.txtDate.value=''
thisform.edtMemo.value=''
thisform.txtID.setfocus
	“退出”的代码如下:
thisform.release
do form 主界面
	“修改记录”的界面与代码如下:

在这个修改的界面中,能过一个命令组按钮可以选择修改员工的信息,也可以通过查找员工的职员号进行相应的修改。
	 “查找”的代码如下:
set order to 职员号
seek alltrim(thisform.text1.value)
if !found()
  messagebox("该职员号不存在",48,"错误")
  go top
endif
thisform.text1.value=''
thisform.refresh
	“退出”的代码如下:
thisform.release
do form 主界面
	“删除记录”的界面与代码如下:

在此删除界面中,可以删除相应员工的信息,可通过查找按钮查找要删除的记录,然后点击“删除这条记录”即可。
	“删除这条记录”的代码如下:
nAnswer=messagebox("确定要删除吗?",36,"信息")
if nAnswer=6
  thisform.dataenvironment.closetables('职员信息表')
  use 职员信息表 exclusive
  delete from 职员信息表 where 职员号=alltrim(thisform.txtID.value)
  pack
  use
  thisform.dataenvironment.opentables('职员信息表')
  thisform.refresh
endif
	“退出”的代码如下:
thisform.release
do form 主界面
	“查询”的界面与代码如下:

在这个查询的界面中,可以通过查询条件中的“职员号”、“姓名”、“所属部门”进行所需查找。也可通过一览表浏览相应记录。
	 “查询”的代码如下:
getid=alltrim(thisform.text1.value)
getname=alltrim(thisform.text2.value)
getdepart=alltrim(thisform.combo1.value)
flag1=thisform.check1.value
flag2=thisform.check2.value
flag3=thisform.check3.value
if flag1=0 and flag2=0 and flag3=0
  messagebox("请输入查询条件",48,"错误")
endif
if flag1=1 and flag2=0 and flag3=0
  select * from 职员信息表 where 职员号=getid
endif
if flag1=0 and flag2=1 and flag3=0
  select * from 职员信息表 where 姓名=getname
endif
if flag1=0 and flag2=0 and flag3=1
  select * from 职员信息表 where 所属部门=getdepart
endif
if flag1=1 and flag2=1 and flag3=0
  select * from 职员信息表 where 职员号=getid and 姓名=getname
endif
if flag1=1 and flag2=0 and flag3=1
  select * from 职员信息表 where 职员号=getid and 所属部门=getdepart
endif
if flag1=0 and flag2=1 and flag3=1
  select * from 职员信息表 where 姓名=getname and 所属部门=getdepart
endif
if flag1=1 and flag2=1 and flag3=1
  select * from 职员信息表 where 职员号=getid and 姓名=getname and 所属部门=getdepart
endif
	“一览”的代码如下:
select * from 职员信息表
	“退出”的代码如下:
thisform.release
do form 主界面
	“报表打印”的界面与代码如下:

	“确定”的代码如下:
do case
  case thisform.optiongroup1.option2.value=1
    report form 职员信息报表 to print preview
endcase
	“退出”的代码如下:
thisform.release
do form 主界面
	“退出”的代码如下:
thisform.release      clear events

第六章 结论与体会
经过多个月的设计和开发,人事管理信息系统基本开发完毕,也使我更进一步的认识Visual FoxPro是一个非常好的数据处理软件,让开发者很容易的理解,做出的效果也好。其功能基本符合用户需求,能够完成工作人员信息的存储和查询以及各类相关报表的打印。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。对于数据的一致性的问题也通过程序进行了有效的解决。
但是由于时间较短,所以该系统还有许多不尽如人意的地方,设计的过程中也会出现比较多的问题,比如在写语句时写错一个单词,那么结果就会出不来,所以在开发的过程中要非常的慎重,仔细;文档比较少,经常路经出错,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。
通过这一次的毕业设计,我学到了很多的知识,不管是理论还是实践都有了更进一步的认识。也培养了我独立思考,独立完成的能力。总之这次课程设计收入很大。

致谢
省略

参考文献
[1]《VisualFoxPro数据库设计教程》 杨偑理 机械工业出版社 2004-07-01
[2]《数据库应用技术实用教程》 黄崇本主编 科学出版社 2003年9月第一版
[3]《JAVA SERVER PAGE程序设计教程》高职高专贯通制教材编写组 电子工业出版社 2003年9月第一版
[4]《JAVA SERVER PAGE应用基础及基于部件的系统设计技术》 程学先 曾玲 林珊 程传庆 中国水利水电出版社 2004-01-01
[5]《中文JAVA SERVER PAGE编程实例与技巧 》康博创作室 中国水利水电出版社 1999-10-01
[6]《JAVA SERVER PAGE课程设计 》 张跃平 清华大学出版社 2004-03-01
[7]《JAVA SERVER PAGE 及其应用系统开发题解 》汤观全 倪绍勇 清华大学出版社 2001-04-01


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于JSP+sqlserver的企业人事管理系统设计与实现(源码+文档)_jsp_BS架构_企业人事管理系统.zip
package com.wsy.dao; import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; import com.wsy.model.Back; import com.wsy.model.BookInfo; import com.wsy.model.BookType; import com.wsy.model.Borrow; import com.wsy.model.Operater; import com.wsy.model.Order; import com.wsy.model.OrderAndBookInfo; import com.wsy.model.Reader; import com.wsy.model.user; public class Dao { protected static String dbClassName = "com.mysql.jdbc.Driver"; protected static String dbUrl = "jdbc:mysql://localhost:3306/mysql"; protected static String dbUser = "root"; protected static String dbPwd = ""; protected static String second = null; private static Connection conn = null; private Dao() { try { if (conn == null) { Class.forName(dbClassName); conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd); } else return; } catch (Exception ee) { ee.printStackTrace(); } } private static ResultSet executeQuery(String sql) { try { if(conn==null) new Dao(); return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); return null; } finally { } } private static int executeUpdate(String sql) { try { if(conn==null) new Dao(); return conn.createStatement().executeUpdate(sql); } catch (SQLException e) { System.out.println(e.getMessage()); //if(e.getMessage().equals("[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]DELETE 语句与 COLUMN REFERENCE 约束 'FK_TB_BORRO_REFERENCE_TB_BOOKI' 冲突。该冲突发生于数据库 'db_library',表 'tb_borrow', column 'bookISBN'。")) return -1; } finally { } } public static void close() { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); }finally{ conn = null; } } /* * 管理员登录方法 */ public static Operater check(String name, String password) { int i = 0; Operater operater=new Operater(); String sql = "select * from tb_operator where name='" + name + "' and password='" + password + "'and admin=1"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { String names = rs.getString(1); operater.setId(rs.getString("id")); operater.setName(rs.getString("name")); operater.setGrade(rs.getString("admin")); operater.setPassword(rs.getString("password")); if (names != null) { i = 1; } } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return operater; } /* * 查询类别方法 */ public static List selectBookCategory() { List list=new ArrayList(); String sql = "select * from tb_bookType"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { BookType bookType=new BookType(); bookType.setId(rs.getString("id")); bookType.setTypeName(rs.getString("typeName")); bookType.setDays(rs.getString("days")); bookType.setFk(rs.getString("fk")); list.add(bookType); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } public static List selectBookCategory(String bookType) { List list=new ArrayList(); String sql = "select days from tb_bookType where typeName='"+bookType+"'"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { BookType type=new BookType(); type.setDays(rs.getString("days")); list.add(type); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } /* * 图书类别表相关操作 * */ public static int InsertBookType(String bookTypeName,String days,Double fk){ int i=0; try{ String sql="insert into tb_bookType(typeName,days,fk) values('"+bookTypeName+"','"+days+"',"+fk+")"; i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } return i; } public static int UpdatebookType(String id,String typeName,String days,String fk){ int i=0; try{ String sql="update tb_bookType set typeName='"+typeName+"',days='"+days+"',fk='"+fk+"' where id='"+id+"'"; //System.out.println(sql); i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } // public static int DelbookType(String id){ // int i=0; // try{ // String sql="delete from tb_bookType where id='"+id+"'"; // //System.out.println(sql); // i=Dao.executeUpdate(sql); // }catch(Exception e){ // e.printStackTrace(); // } // Dao.close(); // return i; // } public static List selectBookTypeFk(String bookType) {//取每种书超过规定时间罚款金额 List list=new ArrayList(); String sql = "select * from tb_bookType where typeName='"+bookType+"'"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { BookType type=new BookType(); type.setFk(rs.getString("fk")); type.setDays(rs.getString("days")); list.add(type); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } /* * 图书信息表相关操作 */ /* * 插入图书信息方法 */ public static int Insertbook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Double price){ int i=0; try{ String sql="insert into tb_bookInfo(ISBN,typeId,bookname,writer,translator,publisher,date,price) values('"+ISBN+"','"+typeId+"','"+bookname+"','"+writer+"','"+translator+"','"+publisher+"','"+date+"',"+price+")"; //System.out.println(sql); i=Dao.executeUpdate(sql); }catch(Exception e){ System.out.println(e.getMessage()); } Dao.close(); return i; } /* * 查询图书相关信息 * */ public static List selectBookInfo() { List list=new ArrayList(); String sql = "select * from tb_bookInfo"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { BookInfo bookinfo=new BookInfo(); bookinfo.setISBN(rs.getString("ISBN")); bookinfo.setTypeid(rs.getString("typeid")); bookinfo.setBookname(rs.getString("bookname")); bookinfo.setWriter(rs.getString("writer")); bookinfo.setTranslator(rs.getString("translator")); bookinfo.setPublisher(rs.getString("publisher")); bookinfo.setDate(rs.getDate("date")); bookinfo.setPrice(rs.getDouble("price")); list.add(bookinfo); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } public static List selectBookInfo(String ISBN) { List list=new ArrayList(); String sql = "select * from tb_bookInfo where ISBN='"+ISBN+"'"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { BookInfo bookinfo=new BookInfo(); bookinfo.setISBN(rs.getString("ISBN")); bookinfo.setTypeid(rs.getString("typeid")); bookinfo.setBookname(rs.getString("bookname")); bookinfo.setWriter(rs.getString("writer")); bookinfo.setTranslator(rs.getString("translator")); bookinfo.setPublisher(rs.getString("publisher")); bookinfo.setDate(rs.getDate("date")); bookinfo.setPrice(rs.getDouble("price")); list.add(bookinfo); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } /* * 修改图书信息方法 */ public static int Updatebook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Double price){ int i=0; try{ String sql="update tb_bookInfo set ISBN='"+ISBN+"',typeId='"+typeId+"',bookname='"+bookname+"',writer='"+writer+"',translator='"+translator+"',publisher='"+publisher+"',date='"+date+"',price="+price+" where ISBN='"+ISBN+"'"; //System.out.println(sql); i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } // /* // * 删除图书信息方法 // */ // public static int Delbook(String ISBN){ // int i=0; // try{ // String sql="delete from tb_bookInfo where ISBN='"+ISBN+"'"; // //System.out.println(sql); // i=Dao.executeUpdate(sql); // }catch(Exception e){ // e.printStackTrace(); // // } // Dao.close(); // return i; // } /* * 对读者信息表执行的相关操作 */ public static int InsertReader(String name,String sex,String age,String identityCard,Date date,String maxNum,String tel,Double keepMoney,String zj,String zy,Date bztime,String ISBN){ int i=0; try{ String sql="insert into tb_reader(name,sex,age,identityCard,date,maxNum,tel,keepMoney,zj,zy,bztime,ISBN) values('"+name+"','"+sex+"','"+age+"','"+identityCard+"','"+date+"','"+maxNum+"','"+tel+"',"+keepMoney+",'"+zj+"','"+zy+"','"+bztime+"','"+ISBN+"')"; System.out.println(sql); i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } public static List selectReader() { List list=new ArrayList(); String sql = "select * from tb_reader"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { Reader reader=new Reader(); //reader.setId(rs.getString("id")); reader.setName(rs.getString("name")); reader.setSex(rs.getString("sex")); reader.setAge(rs.getString("age")); reader.setIdentityCard(rs.getString("identityCard")); reader.setDate(rs.getDate("date")); reader.setMaxNum(rs.getString("maxNum")); reader.setTel(rs.getString("tel")); reader.setKeepMoney(rs.getDouble("keepMoney")); reader.setZj(rs.getInt("zj")); reader.setZy(rs.getString("zy")); reader.setISBN(rs.getString("ISBN")); reader.setBztime(rs.getDate("bztime")); list.add(reader); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } public static List selectReader(String readerISBN) { List list=new ArrayList(); String sql = "select * from tb_reader where ISBN='"+readerISBN+"'"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { Reader reader=new Reader(); reader.setName(rs.getString("name")); reader.setSex(rs.getString("sex")); reader.setAge(rs.getString("age")); reader.setIdentityCard(rs.getString("identityCard")); reader.setDate(rs.getDate("date")); reader.setMaxNum(rs.getString("maxNum")); reader.setTel(rs.getString("tel")); reader.setKeepMoney(rs.getDouble("keepMoney")); reader.setZj(rs.getInt("zj")); reader.setZy(rs.getString("zy")); reader.setISBN(rs.getString("ISBN")); reader.setBztime(rs.getDate("bztime")); list.add(reader); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } public static int UpdateReader(String id,String name,String sex,String age,String identityCard,Date date,String maxNum,String tel,Double keepMoney,String zj,String zy,Date bztime,String ISBN){ int i=0; try{ String sql="update tb_reader set name='"+name+"',sex='"+sex+"',age='"+age+"',identityCard='"+identityCard+"',date='"+date+"',maxNum='"+maxNum+"',tel='"+tel+"',keepMoney="+keepMoney+",zj='"+zj+"',zy='"+zy+"',bztime='"+bztime+"'where ISBN='"+ISBN+"'"; i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } public static int DelReader(String ISBN){ int i=0; try{ String sql="delete from tb_reader where ISBN='"+ISBN+"'"; //System.out.println(sql); i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } /* * 对订购信息表操作 */ public static int InsertBookOrder(String ISBN,Date date,String number,String operator,String checkAndAccept,Double zk){ int i=0; try{ String sql="insert into tb_order(ISBN,date,number,operator,checkAndAccept,zk) values('"+ISBN+"','"+date+"','"+number+"','"+operator+"',"+checkAndAccept+",'"+zk+"')"; i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } public static List selectBookOrder() { List list=new ArrayList(); String sql = "SELECT * FROM tb_order a INNER JOIN tb_bookInfo b ON a.ISBN = b.ISBN"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { OrderAndBookInfo order=new OrderAndBookInfo(); order.setISBN(rs.getString(1)); order.setOrderdate(rs.getDate(2)); order.setNumber(rs.getString(3)); order.setOperator(rs.getString(4)); order.setCheckAndAccept(rs.getString(5)); order.setZk(rs.getDouble(6)); order.setTypeId(rs.getString(8)); order.setBookname(rs.getString(9)); order.setWriter(rs.getString(10)); order.setTraslator(rs.getString(11)); order.setPublisher(rs.getString(12)); order.setDate(rs.getDate(13)); order.setPrice(rs.getDouble(14)); list.add(order); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } public static List selectBookOrder(String ISBN) { List list=new ArrayList(); String sql = "SELECT * FROM tb_order where ISBN='"+ISBN+"'"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { Order order=new Order(); order.setISBN(rs.getString("ISBN")); order.setDate(rs.getDate("date")); order.setNumber(rs.getString("number")); order.setOperator(rs.getString("operator")); order.setZk("zk"); order.setCheckAndAccept("checkAndAccept"); list.add(order); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } public static int UpdateCheckBookOrder(String ISBN){ int i=0; try{ String sql="update tb_order set checkAndAccept=0 where ISBN='"+ISBN+"'"; i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } /* * 对借阅表进行操作 */ public static int InsertBookBorrow(String bookISBN,String readerISBN,String operatorId,Timestamp borrowDate,Timestamp backDate){ int i=0; try{ String sql="insert into tb_borrow(bookISBN,readerISBN,operatorId,borrowDate,backDate)values('"+bookISBN+"','"+readerISBN+"','"+operatorId+"','"+borrowDate+"','"+backDate+"')"; i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } public static List selectBorrow(String readerISBN) { List list=new ArrayList(); String sql = "select * from tb_borrow where readerISBN='"+readerISBN+"'"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { Borrow borrow=new Borrow(); borrow.setId(rs.getInt("id")); borrow.setBookISBN(rs.getString("bookISBN")); borrow.setReaderISBN(rs.getString("readerISBN")); borrow.setBorrowDate(rs.getString("borrowDate")); borrow.setBackDate(rs.getString("backDate")); borrow.setBookName(rs.getString("borrowBookName")); list.add(borrow); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } /* * 查询还书内容,tb_bookinfo tb_reader tb_borrow之间的查询 */ public static List selectBookBack(String readerISBN) { List list=new ArrayList(); String sql = "SELECT a.ISBN AS bookISBN, a.bookname, a.typeId ,b.id,b.operatorId, b.borrowDate, b.backDate, c.name AS readerName, c.ISBN AS readerISBN FROM tb_bookInfo a INNER JOIN tb_borrow b ON a.ISBN = b.bookISBN INNER JOIN tb_reader c ON b.readerISBN = c.ISBN WHERE (c.ISBN = '"+readerISBN+"' and isback=1)"; System.out.println(sql); ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { Back back=new Back(); back.setBookISBN(rs.getString("bookISBN")); back.setBookname(rs.getString("bookname")); back.setTypeId(rs.getInt("typeId")); back.setOperatorId(rs.getString("operatorId")); back.setBorrowDate(rs.getString("borrowDate")); back.setBackDate(rs.getString("backDate")); back.setReaderName(rs.getString("readerName")); back.setReaderISBN(rs.getString("readerISBN")); back.setId(rs.getInt("id")); list.add(back); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } public static int UpdateBookBack(String bookISBN,String readerISBN,int id){//归还图书操作 int i=0; try{ String sql="update tb_borrow set isback=0 where bookISBN='"+bookISBN+"'and readerISBN='"+readerISBN+"' and id="+id+""; System.out.println(sql); i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } //new public static List selectbookserch() { List list=new ArrayList(); String sql = "select * from tb_bookInfo"; ResultSet s = Dao.executeQuery(sql); try { while (s.next()) { BookInfo bookinfo=new BookInfo(); bookinfo.setISBN(s.getString(1)); bookinfo.setTypeid(s.getString(2)); bookinfo.setBookname(s.getString(3)); bookinfo.setWriter(s.getString(4)); bookinfo.setTranslator(s.getString(5)); bookinfo.setPublisher(s.getString(6)); bookinfo.setDate(s.getDate(7)); bookinfo.setPrice(s.getDouble(8)); list.add(bookinfo); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } public static List selectbookmohu(String bookname){ List list=new ArrayList(); String sql="select * from tb_bookInfo where bookname like '%"+bookname+"%'"; System.out.print(sql); ResultSet s=Dao.executeQuery(sql); try { while(s.next()){ BookInfo bookinfo=new BookInfo(); bookinfo.setISBN(s.getString(1)); bookinfo.setTypeid(s.getString(2)); bookinfo.setBookname(s.getString(3)); bookinfo.setWriter(s.getString(4)); bookinfo.setTranslator(s.getString(5)); bookinfo.setPublisher(s.getString(6)); bookinfo.setDate(s.getDate(7)); bookinfo.setPrice(s.getDouble(8)); list.add(bookinfo); } } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } return list; } public static List selectbookmohuwriter(String writer){ List list=new ArrayList(); String sql="select * from tb_bookInfo where writer like '%"+writer+"%'"; System.out.print(sql); ResultSet s=Dao.executeQuery(sql); try { while(s.next()){ BookInfo bookinfo=new BookInfo(); bookinfo.setISBN(s.getString(1)); bookinfo.setTypeid(s.getString(2)); bookinfo.setBookname(s.getString(3)); bookinfo.setWriter(s.getString(4)); bookinfo.setTranslator(s.getString(5)); bookinfo.setPublisher(s.getString(6)); bookinfo.setDate(s.getDate(7)); bookinfo.setPrice(s.getDouble(8)); list.add(bookinfo); } } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } return list; } public static int Insertoperator(String name,String sex,int age,String identityCard,Date workdate,String tel,String password){ int i=0; try{ String sql="insert into tb_operator(name,sex,age,identityCard,workdate,tel,password) values('"+name+"','"+sex+"',"+age+",'"+identityCard+"','"+workdate+"','"+tel+"','"+password+"')"; System.out.println(sql); i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } public static List selectuser() { List list=new ArrayList(); String sql = "select id,name,sex,age,identityCard,workdate,tel,password from tb_operator where admin=0"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { user user=new user(); user.setId(rs.getInt(1)); user.setName(rs.getString(2)); user.setSex(rs.getString(3)); user.setAge(rs.getInt(4)); user.setIdentityCard(rs.getString(5)); user.setWorkdate(rs.getDate(6)); user.setTel(rs.getString(7)); user.setPassword(rs.getString(8)); list.add(user); } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return list; } public static int Deluser(int id){ int i=0; try{ String sql="delete from tb_operator where id='"+id+"'"; //System.out.println(sql); i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } public static int Updateuser(int id,String name,String sex,int age,String identityCard,Date workdate,String tel,String password){ int i=0; try{ String sql="update tb_operator set name='"+name+"',sex='"+sex+"',age="+age+",identityCard='"+identityCard+"',workdate='"+workdate+"',tel='"+tel+"',password='"+password+"' where id='"+id+"'"; i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } public static int Updatepass(String password,String name){ int i=0; try{ String sql="update tb_operator set password='"+password+"' where name='"+name+"'"; i=Dao.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); } Dao.close(); return i; } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计方案专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值