




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三 江 学 院本科毕业设计(论文)课题名称 基于Java的办公自动化管理系统员工管理模块 理计算机科学与工程 学院 软件工程 专业 学 号 B07053050 5学生姓名 蒋鹏飞 路指导教师 应毅 毅 起讫日期 2010. 2. 22 2010.6.11 4 工作地点 学校 1 三江学院毕业设计 摘要摘 要当今科技如此发达的社会,人类不仅仅追求做事的质量的提高,同时也在追求着效率的提高,拥有高速信息处理的计算机得到普及和推广得以实现了人类这一梦想。办公自动化管理系统的应用满足了企业的办公网络化、自动化的管理需求,提高了企业内部的管理水平。本系统采用JSP JavaBean的模式来订制一个小型办公自动化平台,系统采用界面与业务逻辑分离的三层结构设计,将业务逻辑封装在JavaBean中,使得系统的安全性、可维护性、可重用性和可扩展性都大大提高。系统采用SQL Server2005为后台数据库以JSP Web为页面形式,涉及到数据库、网络、Web服务器、j2ee等方面的技术,实现了较为完备的功能。包括有公文处理,员工管理,部门信息管理等等。另外,对系统的安全性也做了相关设置。整个系统具有友好的用户界面,操作简单实用,功能较为完备。关键词:OA,办公自动化,JSP,管理系统,B/S III三江学院毕业设计 AbstractAbstractTechnology is so advanced in todays society, not just the pursuit of improvement of the quality of work, while also pursuing efficiency, computer with high speed of information processing has become popular realized of this dream of mankind. The application of Office Automatic Management System realize network handing official business , needs of automatic management, and raise the inner management level of enterprise. It is a small E-Govement platform based on JSP JavaBean mode. The system makes the use of three layers structure based on separation of interface and operation logic. It is packaged in the JavaBean, which advanced the security, maintainability, reusability and extensibility of the system. The System is implemented by using SQL Server 2005 as backstage database and performed by JavaServer Pages. It involved the related technology such as database, web server and Java 2 Enterprise Edition. Also the system is carried out the following function: Document processing, Staff Management, the department management and so on. Besides,the security of the system is also taken into consideration. It shows friendly consumer interface and provides simple operation, completed function.Key words: OA, Office Automatic System, Java Server Pages, Management System, Browser/Server 三江学院毕业设计 目录三江学院毕业设计 第一章 绪论目 录摘 要IAbstractII目 录III第一章 绪 论11.1 办公自动化管理系统的背景与意义11.2 办公自动化管理系统的功能特性11.3 本文的关键问题及难点2第二章 背景技术的介绍42.1 J2EE简介42.1.1 架构模式选择42.1.2 视图层的选择52.1.3 控制层的选择62.1.4 模型层的选择7第三章 办公自动化管理系统员工模块的分析83.1 需求分析83.1.1功能需求规定83.1.2 对输入参数的要求83.1.3故障处理要求8第四章 办公自动化管理系统员工模块的详细设计94.1 功能模块需求94.2 UML类图114.3 模块结构图124.3 数据流程图134.4 模块数据结构设计134.5 系统出错处理设计154.5.1 出错信息154.5.2 补救措施15第五章 办公自动化管理系统员工模块的实现和测试165.1 办公自动化管理系统的实现165.1.1 JavaBean的设计165.1.2视图层的设计与实现165.1.3员工管理模块185.1.4 管理员登录27第六章 总结与展望346.1 全文总结346.2 展望34结束语35参考文献36致 谢37第一章 绪 论在科技迅猛发展的今天 Internet/Intranet被广泛的使用在各个行业中,企业的管理也随之发展,信息化的程度也随之增长,同时以往的办公管理模式已经无法适应企业的需求,企业对办公的效率要求越来越高,因此就需要一个现代化的办公管理方案来解决企业的这个问题。企业办公正在逐步迈向管理信息现代化。企业办公信息化基础设施建设的逐渐完备,改革传统办公模式开展电子政务,使业务办公、公文流转和管理过程电子化、信息化,让文职人员从长期繁杂的办公事务中解放出来,通过统一办公规范,提高工作效率,降低管理成本,实现办公自动化已势在必行。1.1 办公自动化管理系统的背景与意义办公自动化管理系统是将现代办公和计算机网络功能结合起来的一种新型的办公方式,是信息化社会的产物。办公自动化系统可以将一个机构的办公用的计算机和其他办公设备连接成网络,这样可以为办公室工作人员和企事业负责干部提供各种现代化手段,从而改进办公条件,提高办公业务的效率和质量,及时向有关部门和领导提供有用的信息。OA起源于政府办公系统,当初的作用主要是公文收发,如今核心内容是提高办公效率、提高团队的整体作战能力以及有效的提供应用信息与素材,从而提高管理水平。广义而言,OA应该是一个企业除了生产控制之外的一切信息处理与管理的集合。它面向不同层次的使用者,有不同的功能表现。通过网络,组织机构内部的人员可跨越时间、地点协同办公。建立一个安全、可靠、开放、高效的办公自动化、信息管理电子化系统。为管理部门提供现代的日常办公条件及丰富的综合信息服务,实现档案管理自动化和办公事物处理自动化,实现企业各内部日常业务工作的规范化、电子化、标准化,增强档案部门文书档案、人事档案、财务档案等档案的可管理性,实现信息的在线查询、借阅。最终实现“无纸”办公,使信息的传递更加快捷和方便,从而极大的扩展了办公手段,实现了办公的高效率。1.2 办公自动化管理系统的功能特性办公自动化管理系统对企业日常办公进行管理,实现企业员工之间的消息的发送与接受功能,大大地方便了企业内部人员沟通。同时网站提供的前后台的公告与公文信息的管理,方便员工及时了解公司的动态,与其他功能模块联机操作将使企业的日常管理步入科学系统的管理轨道。此办公自动化管理系统由前台管理和后台管理两大部分组成。此办公自动化管理系统有三个功能模块:公告管理、员工管理、部门管理3个模块。3大功能模块分别是:1) 公告管理模块:主要完成公告的发布、查看。2) 员工管理模块:主要完成添加员工、查找员工、浏览员工信息。3) 部门信息管理模块:主要完成查看职位、部门信息。本次毕业设计我负责的是员工管理模块,员工管理模块是系统的重要模块,主要是和员工相关的业务功能,具体功能描述如下:添加员工信息:管理员可以注册添加员工的信息。查找员工信息:通过输入员工ID号可以查找员工的信息。浏览员工信息:可以浏览员工的信息。1.3 本文的关键问题及难点我们的毕业设计项目是基于J2EE的web项目,同时也是采用JSP + JavaBean + Servlet模式。因此针对此项目涉及到一些关键问题:1、JSP + JavaBean + Servlet环境配置问题,环境变量的设置:变量名java_path、path、classpath的追加,Tomcat的配置:变量名tomcat_home classpath的追加。环境变量的设置和Tomcat的配置对初学者来说又是比较头疼,但配置好了很重要。2、集成开发环境选择的问题,好的开发环境对编码效率提高很多。MyEclipse本身集成了非常实用的插件并且支持主流框架,是一个非常好用的集成开发环境,所以我们组选MyEclipse作为毕业设计的集成开发环境。服务器的选择我们选Tomcat作为系统的服务器,轻量级的服务器Tomcat对于小型应用是个不错的选择。3、逻辑结构设计本系统数据库采用SQL Server 2005 数据库,系统数据库名称为OA_Data。数据库OA_Data中包含5张表。数据表有bumf(公文信息表)、department(部门信息表)、eminfo(员工信息表)、job(职位表)、password(用户信息表)。当主键表中的数据发生改变时,引用这个主键值的字段也随之改变,进而确保数据的一致性和完整性。29三江学院毕业设计 第二章 背景技术的介绍第二章 背景技术的介绍2.1 J2EE简介J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlet API、JSP(Java Server Pages)以及XML技术的全面支持。1)多平台部署:可跨平台部署,在安全稳定的大型操作系统Unix上使用。2)平台应用成熟度高:J2EE技术发展时间较长,成熟度高,有大量的案例和开发应用。3)开发思想体系成熟:RUP,UML,ROSE等于J2EE的结合更紧密,.NET与这类开发哲学不够融合。4)安全可靠:J2EE平台的成熟度以及跨平台特性赋予了它安全可靠的天性。5)开放性:开源社区丰富,可用的开源框架很多。现如今的电子商务领域的技术对比:J2EE平台:阿里巴巴,淘宝,EBay.NET平台:当当网由于J2EE可跨平台,可以在不同的操作系统下运行,因此系统更具有安全性,此外通过对开源技术的运用还有助于提升自己的技术,并且J2EE平台能和RUP理论很好的结合起来,所以选择J2EE平台是比较理想的选择。2.1.1 架构模式选择为了实现让系统更加灵活,更具有可扩展性,就必须使系统做到高内聚低耦合,那么降低模块与模块间的耦合呢?要降低耦合,模块的功能划分尽可能的单一,道理也很简单,功能单一的模块供其他模块调用的机会就少。那么如何才能做到模块功能化单一呢?MVC设计模式很好的解决了这个问题。通过MVC的分层很好的将每一层的职责划分明确。那么MVC究竟是什么设计模式呢?MVC包括三类对象:1.模型(Model)对象:是应用户层序的主体部分。2.视图(View)对象:是应用程序中扶着生成用户界面的部分。3.控制器(Control)对象:是根据用户的输入,控制也能过户界面数据显示以及更新Model对象状态的部分。它们之间的关系和各自的主要功能,如图2.1:图2.1 MVC结构图模型对象是软件处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,它独立于具体界面表达和I/O操作。视图对象把表示模型数据以及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。控制对象是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现模型的计算控制,是使模型和视图协调工作的部件。通常一个视图有一个控制器。MVC有以下优点:1. 可以为一个模型在运行时同时建立和使用多个视图。变化-传播机制可以确保所有相关的视图即使得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。2. 视图与控制器的可接插性,允许更滑视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。3. 模型的可移植性。因为模型是独立于视图的,所以把一个模型独立地移植到新的平台工作。需要做的只是在心平台上对视图和控制器进行新的修改。4. 潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅使用在界面的设计中。总而言之,MVC模式不仅仅实现了功能模块和现实模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。由此可见,MVC正符合我们设计的需要,它很好的解决了模块间的耦合,提高了系统的可维护性和系统的可移植性。2.1.2 视图层的选择视图层又叫表示层,表示成的责任是显示,在开源框架里Struts,Struts2,还有JSF都是view,无疑都是很好的选择。这里我们选择Struts2结合JSTL来实现表示层,简单的介绍一下Struts和JSTL。Struts2为Apache组织下的一个开源框架,Struts2框架作为Struts1.x框架的替代技术,相对Struts1.x来说,有着本质上的改变,Struts2框架是从WebWork框架发展而来的。struts2框架技术整合了Struts1.x和WebWork的优点,Struts2框架最大的特点就是简单性,引入了OGNL表达式和值栈的概念,可以是开发者使用简单的代码实现负载的数据访问,Action实现类就是一个标准的java类(POJO),这使得测试工作变得简单。JSTL是JSP Standard Tag Library的简写,翻译成中文叫做JSP标准标签库,它也是Apache开源组织开发的JSP标签库。它是用来显示页面上的变量,它和EL配合使页面上显示参数更为方便,使得页面更符合View层的责任,JSTL可以完全替代页面上的这些动态脚本,使页面符合HTML的标准。Struts2以其对JSTL和OGNL(Object-Graph Navigation Language)的支持,让我选择了Struts2,因为OGNL能够方便的操作对象,所以很适合用于复杂对象在页面上显示。2.1.3 控制层的选择控制层的职责是用于处理表示层的请求,表示层向控制层发来请求,控制层再将请求进行转发,转发给逻辑业务层处理,而逻辑业务层处理完反馈给控制层处理的结果,控制层再将结果转发给表示层。无疑在控制层上Struts2是最合适的,Struts2中的Action提供了非常好的控制机制,通过Struts.xml的配置,就能简单的将页面与Action对应起来,从而Action可以非常方便的接受表示层的数据,然后Action调用逻辑业务层的方法,再根据逻辑业务层的返回结果,Action再返回对应Result,Action再根据Struts.xml里配置的Result将数据转发给对应的表示层。Struts2 的执行原理如图2.2:图2.2 Struts2原理图在控制层上还可以使用Spring,Spring的AOP(Aspect-Oriented Programming Aspect-Oriented Programming)即面向切面编程,为系统的权限控制和系统的日志管理提供了很好的支持,有效的将业务逻辑和功能分开了,从而它很好的与struts2的action形成互补。2.1.4 模型层的选择模型层封装了问题的核心数据、逻辑和功能的计算关系,它大体上可以划分为两块,一块为上层的逻辑业务,也就是所谓的service层,还有底层的数据访问层,又叫持久层,就是长说道的DAO层。业务层用来处理系统的那个逻辑业务,也就是业务流程,从程序的角度上来说就是算法,这部分是系统的核心。这部分能用上Spring的IoC,通过IoC将业务层的对象生命周期进行有效的管理,方便控制层对业务层的调用,那么什么是IOC呢?IoC(Inversion of Control),翻译成中文就是控制翻转,好莱坞有条规则叫做“Dont call me, I will call you. 这条规则就是IOC的真实写照,通俗点说就是IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这成为控制翻转。正是因为有了控制翻转,系统才可以不管将来具体的实现,完全在一个抽象层次进行描述和技术架构,这样就是模块与模块之间的耦合度进一步降低,使系统具有良好的可维护性和扩展性。在spring里IoC又叫做Dependency Inject-依赖注入。Spring通过DI的方式将业务对象交给IoC容器,使控制层只能通过访问IoC来获得业务层对象,无疑这是将系统的耦合性降低,使系统具备了良好的扩展性。在持久层,Hibernate无疑是实现它的最好选择,在分析之前先简单的介绍一下Hibernate。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate是一个ORM框架,ORM即对象关系映射,在没有ORM这个概念提出以前,我们的编程到最底层时,采用的是其实都是过程化编程,也就是先获取连接,再操作传入SQL,容纳后在执行数据库操作,最后关闭连接,这就是我们原始的模式。然而我们采用面向对象的编程方式,很显然,采用原始的数据库操作方式是违背了面向对象的思想,那么为什么在ORM没有提出之前,我们没法改变它呢?原因在于我们的数据库是关系型数据库,实体与实体之前只有关系,没有对象关联,这就是任命常说的主抗不匹配,ORM出来之后,它很好的将对象与关系对应起来,在某种意义上讲JDBC的操作封装起来,而程序员只需要操作对象就可以完成对数据库的增删改查,而这一切只需要调用对应的方法即可。所有有了ORM,程序员就可以随心所欲的使用对象编程来操纵数据库。这也是我们选择Hibernate的最主要原因。三江学院毕业设计 第三章 办公自动化管理系统员工管理模块的分析第三章 办公自动化管理系统员工管理模块的分析3.1 需求分析3.1.1功能需求规定通过相关调查,要求网站具有以下功能;q 员工通过前台发布和查看公告、公文信息。q 设置员工信息的添加、浏览、查找功能。q 通过前台可以查看部门和职位信息。q 通过后台对部门信息、职位信息进行管理。q 管理公告信息,查看公文内容。q 设置后台员工信息的管理模块。q 通过后台管理员工前台登录账号q 通过后台实现查看、删除在线员工信息功能。3.1.2可行性分析通过办公自动化管理系统对企业日常办公进行管理,满足了企业日常办公管理各方面的的需求,实现了企业员工之间消息的发送与接收功能,大大的方便了企业内部人员沟通。网站提供的前后台的公告与公文信息的管理方便员工及时的了解公司的动态。其他功能模块的设置使企业的日常管理步入了科学系统管理的轨道上。3.1.3故障处理要求当程序由于潜在的bug或其他原因而导致程序报错的时候,处理的方式是:(1)、页面自动重定向到error.jsp,并提示“系统内部出现异常,请与管理员联系”(2)、后台打印日志,错误日志会一同打印出来,方便及时找到程序错误。(3)、程序操作数据采用事物管理机制,当操作数据库发生错误时候事物回滚,不会印象之前的数据丢失或篡改。三江学院毕业设计 第四章 办公自动化管理系统员工模块的详细设计4.1 功能模块需求表4.1 添加员工信息处理IPO图功能编号:IPO-001功能名称:添加员工信息输入参数:处理说明:输出参数:员工注册基本信息:employeeid, name,sex,birthday,learn,post,department,jobidtel,addr系统获取输入的注册信息后验证各个字段,验证通过后保存员工信息进入数据库无参数输出表4.2 查看员工信息处理IPO图功能编号:IPO-002功能名称:查看用户信息输入参数:处理说明:输出参数:无参数输入(系统获取session中employeeid)根据会话session中的employeeid查出当前员工信息输出用户的基本信息:employeeid, name,sex,birthday,learn,post,department,jobidtel,addr表4.3 修改用户信息处理IPO图功能编号:IPO-003功能名称:修改用户信息输入参数:处理说明:输出参数:name, sex, birthdaytel, post等中的一个或多个管理员在查出的员工信息基础上更改员工信息,保存后更新数据库对应记录如果修改正确则跳转到显示员工信息的页面,否则本页面提示验证不通过的信息提示4.2 UML类图图4.1 UML类图4.3 模块结构图办公自动化管理系统员工管理模块是一个整体模块,在此模块下的功能又可以大致分为三个部分,分别为:添加员工信息:系统获取输入的注册信息后验证各个字段,验证通过后保存员工信息进入数据库;查找员工信息:根据employeeid查出当前员工信息;浏览员工信息:管理员在查出的员工信息基础上更改员工信息,保存后更新数据库对应记录;结构图如图4.2:员工管理浏览员工信息查找员工信息添加员工信息图4.2 模块结构图4.3 数据流程图是系统登录登录或注册网上办公系统公告管理员工管理部门管理查看以前公告发布最新公告添加员工信息查找员工信息浏览员工信息查看职位信息查看部门信息图4.3 数据流程图4.4 模块数据结构设计在我的员工管理模块中,涉及到四张数据库表,分别为:员工信息表、员工登录表、员工上下班描述表signstate、员工上下班描述表sign。eminfo(员工信息表)员工信息表主要用于保存员工信息。表eminfo的结构如表B.3所示。表B.3 表eminfo的结构字段名数据类型长度主键否描述employeeidint4是员工编号Namevarchar20姓名Sexbit1性别birthdaydatetime8出生日期learnvarchar10学历postvarchar10职称departmentidint4部门编号jobidint4职位编号telvarchar电话addrvarchar地址stateidint4状态编号password(员工登录表)员工登录表主要用于员工登录信息。表password的结构如表B.8所示。表B.8 表job的结构字段名数据类型长度主键否描述empoyeeidint4员工编号passwordvarchar20员工密码timedatetime8系统时间signstate(员工上下班描述表)员工上下班描述表主要用于员工上下班描述信息。表signstate的结构如表B.9所示。表B.9 表job的结构字段名数据类型长度主键否描述signstateidint4上下班编号describestatevarchar20上下班名称timedatetime8系统时间sign(员工上下班描述表)员工上下班描述表主要用于员工上下班描述信息。表sign的结构如表B.10所示。表B.10 表sign的结构字段名数据类型长度主键否描述signidint4员工上下班编号timedatetime8系统时间employeeidint4员工编号Latebit1是否迟到Quitbit1是否下班leavebit1是否早退workbit1工作状态signstateidint4外键4.5 系统出错处理设计4.5.1 出错信息1)系统不稳定网站时常不能访问, 用户无法登陆, 这显然是网站服务器系统的不稳定造成的。作为系统的设计者, 应在发布网站前进行充分的效能测试, 从而最大程度上避免这种情况的出现。2)系统性能不好由于采取的技术和数据库速度及性能较慢的原因, 从而导致在购高峰期, 同时有大量的用户购票的时候出现登陆和查询航班速度很慢或是根本就无法成功登及结构体系。在这种结构下, 用户仅需通过浏览器就可实现客户端的功能, 而大部分的事物逻辑是在服务器端实现。这样就大大降低了客户端的负载, 减轻了系统维护与升级的成本。4.5.2 补救措施说明故障出现后可能采取的变通措施。包括:(1)后备技术。说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术。(2)降效技术。说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录。(3)恢复及再启动技术。说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。第五章 办公自动化管理系统员工管理模块的实现和测试5.1 办公自动化管理系统的实现在JSP+JavaBean+Servlet模式中,一般使用Servlet接收Http请求,然后执行连接数据库的操作,操作完成后,如果需要,将操作的结果保存在Http请求中,然后把视图派发到用于显示的JSP页。在这小节中,首先来介绍一下本系统中所使用的几个重要的JavaBean。5.1.1 JavaBean的设计1)数据库操作的JavaBean的编写。本系统采用的是数据库连接池技术来实现对数据库的连接。该类的主要功能是实现对数据库的连接操作和对数据库中数据的一些简单操作。在类中的每个方法都有详细的注释。全部代码如下:/*oa/sys/Db.java*/package oa.sys;import java.sql.*;import javax.sql.*;import javax.naming.*;/* * *类名称:Db *类功能:数据库操作 * */public class Db private Connection con;private Statement stmt;private ResultSet rs;private PreparedStatement pstmt;public static int error=0;/*函数名称:getCon()*函数功能:获取数据库连接*返回值: 无*参数说明:无*/public static synchronized Connection getCon()throws ExceptionContext ctx;DataSource ds;tryctx = new InitialContext();ds = (DataSource)ctx.lookup(java:comp/env/jdbc/OA);System.err.println();System.err.println(数据连接+(+error);return ds.getConnection();catch(SQLException e)System.out.print(e);throw e;catch(NamingException e)System.out.print(e);throw e;/*函数名称:getStmtread()*函数功能:获取数据库集合*返回值: Statement*stmt:返回数据库集合只用于SELECT语句*参数说明:无*/public Statement getStmtread()trycon=getCon();stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);catch(Exception e)System.out.println(getStmtread);System.out.println(e.getMessage();return stmt;/*函数名称:getRowCount()*函数功能:返回表的行数*返回值: int count*count0返回的行数*count=-1表名不存在或没有记录*参数说明:String sql*sql 数据库中的表名*/public int getRowCount(String sql)int count=0;trystmt=this.getStmtread();rs=stmt.executeQuery(SELECT COUNT(*) FROM +sql);rs.getMetaData();if(rs.next()count=rs.getInt(1);elsecount=-1;catch(Exception e)System.out.println(getRowCount);System.out.println(e.getMessage();count=-2;finallythis.close();return count;/*2)分页显示的JavaBean的编写在进行数据库查询操作时,往往会遇到数据量很大的情况,如果将所有数据在一个页面中显示是不现实的,因为这会给用户带来操作上的不方便,这是不愿意看到的,因此有必要将分页显示封装在一个类中,以提高这段代码的重用性。本系统用做分页显示的代码如下:/*oa/sys/Contact.java*/package oa.sys;import oa.data.*;import java.util.*;import java.sql.*;/* * *类名称:#Contact *类功能:数据库分页操作 *public class Contactprivate String state; /员工状态private String job; /员工职位private String dep; /员工所在部门private ResultSet rs1;private Statement stmt1;private int stateid; /员工状态序号private String addr; /员工住址private String tel; /电话private int jobid; /员工职位序号private int deid; /员工所在部门序号private String post; /员工职称private String learn; /学历private String birthday; /出生日期private int sex; /性别private String name; /姓名private int id; /员工ID号private Statement stmt=null;private ResultSet rs=null;private Db db=new Db();Collection coll;/*函数名称:Contact()*函数功能:构造函数初始化数据库连接、数据类型*返回值: 无*参数说明:无*/public Contact()throws ExceptionCalendar dd;stmt=db.getStmtread();coll= new ArrayList();/*函数名称:getCount()*函数功能:获取数据库表格行数*返回值: int 行数*参数说明:String sql 表格名称*/public int getCount()throws Exceptionint ret=0;String sql=SELECT count(*) FROM eminfo;rs=stmt.executeQuery(sql);if(rs.next()ret=rs.getInt(1);return ret;/*函数名称:getCount()*函数功能:获取数据库表格行数*返回值: int 行数*参数说明:String sql 表格名称*/public Page listData(String page)throws ExceptiontryPage pages=new Page(this);int pageNum=Integer.parseInt(page);stmt=db.getStmtread();Str str=new Str();String sql=SELECT TOP +pageNum*pages.rowsPerPage+ * FROM eminfo;rs=stmt.executeQuery(sql);int i=0;while(rs.next()if(i(pageNum-1)*pages.rowsPerPage-1)id=rs.getInt(1);name=rs.getString(2);sex=rs.getInt(3);birthday=rs.getString(4);learn=rs.getString(5);post=rs.getString(6)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程项目的整体策划与实施试题及答案
- 公文格式与结构分析试题及答案
- 施工用电安全规范知识试题及答案
- 2025年湖南省房地产中介服务合同
- 工程创新设计试题及答案
- 2025药店销售合同模板
- 2025年标准租赁合同模板
- 市政学应试技巧分析试题及答案
- 行政管理心理学综合试题及答案
- 2025年管理学的评价标准试题及答案
- 安徽省1号卷A10联盟2025届高三5月最后一卷化学试题及答案
- 2022《农产品质量安全法》全文解读与学习
- 工程总承包的试题及答案
- 《电磁感应原理解析》课件
- 成都输液剂项目可行性研究报告参考范文
- 2025年二级注册建筑师资格考试《建筑结构、建筑物理与设备》真题卷(附答案)
- 锂电池基础知识培训课件
- 【部编版】六年级语文下册《语文园地五》精美课件
- 登革热防控知识培训
- 2025年新能源汽车实训基地建设方案范文
- 糖尿病患者血脂管理中国专家共识(2024版)解读
评论
0/150
提交评论