




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 兰兰 州州 陇陇 桥桥 学学 院院软件开发工具软件开发工具课程设计实验报告课程设计实验报告设计报告题目:设计报告题目: 学学 院、院、 系:系: 信息工程学院信息工程学院 专专 业业 ( (方方 向向) ): 计算机科学与技术计算机科学与技术 年年 级、级、 班:班: 2003 级级 2 班班 学学 生生 姓姓 名:名: 指指 导导 教教 师:师: 2011 年 12 月 20 日1 摘摘 要要 j2ee 是一种全新概念的企业级应用程序模型,和传统企业应用开发模型相比有不可比拟的优势。j2ee 体系结构提供中间层集成框架用来满足高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平
2、台,j2ee 降低了开发多层应用的费用和复杂性,增强了安全机制,提高了性能。 本系统是基于轻量级 j2ee 的开发架构,采用 mvc 软件设计模式。我们选择轻量级框架 spring,它使应用程序不依赖于任何容器,减少开发的复杂度,提高开发的效率。表示层采用开放源代码且较成熟的 struts。持久层框架使用较为流行的 orm 组件 hibernate。 本系统利用 internet 解决档案的查询效率低,查询不方便,以及避免传统的法院档案管理的归档困难、档案容易损坏等问题。关键词 j2ee;mvc ;struts;hibernate;设计模式;设计模式 2 目目 录录一、系统所用技术简介 .(1
3、)(一) spring 介绍.(1)(二) struts 介绍.(2)(三) mvc 介绍 .(3)(四) hibernate 介绍.(4)二、需求分析说明 .(4)(一) 开发背景.(5)(二) 目标.(5)(三) 功能性需求分析.(5)(四) 系统的界面需求.(11)(五) 软件质量需求.(11)(六) 软件环境需求.(11)三、数据库分析与设计 .(11)(一) 数据库环境说明.(11)(二) 数据库逻辑设计.(12)(三) 数据库物理设计.(12)(四) 数据库连接池配置.(14)四、系统设计与实现 .(15)(一) 系统结构.(15)(二) 系统的构架设计.(16)(三) 对象域模型
4、.(20)1、实体对象的实现.(21)2、对象域模型的配置.(23)(四)系统持久层 dao 的实现.(25)(五)系统业务层的实现.(33)(六)用户接口层.(34)1、登录功能及权限验证.(34)2、档案管理及维护.(37)3、法医鉴定档案的管理.(42)4、当事人管理及维护.(45)5、用户管理及维护.(48)(七)系统文件配置.(50)1、hibernate 配置.(50)2、spring 配置.(51)五、系统功能测试.(54)(一) 用户登录测试.(54)(二) 档案管理测试.(55)(三) 当事人管理测试.(56)参考文献.(59)1 基于轻量级基于轻量级 j2eej2ee 架构
5、的法院档案架构的法院档案 管理系统的设计与实现管理系统的设计与实现一、一、 系统所用技术简介系统所用技术简介 本系统是基于 j2ee 开发平台,采用 mvc 软件设计模式,表现层框架采用开放源代码且较成熟的 struts ,业务层组件采用开放源代码的轻量级容器 spring,持久层框架采用较为流行的 hibernate。spring,struts,hibernate 三者之间的关系如图: 图 1:struts,spring,hibernate 三者之间的关系(一)(一)spring 介绍介绍 spring 框架的核心思想可以用两个字来描述,那就是解耦。应用程序的各个部分之间(包括代码内部和代码
6、与平台之间)尽量形成一种松耦合的结构,使得应用程序有更多的灵活性。应用内部的解耦主要通过一种2称为控制反转(ioc)的技术来实现。控制反转的基本思想就是本来由应用程序本身来主动控制的调用等逻辑转变成由外部配置文件来被动控制。通常我们用一个所谓的好莱坞原则(dont call me. i will call you.)来比喻这种控制反转的关系。由于控制反转的概念相对比较广泛,很多应用服务器实际上也实现了不同程度的控制反转技术,只是这些应用服务器对应用程序的侵入性太强。因此 martin fowler 专门写了一篇文章讨论控制反转这个概念,并提出一个描述更为准确的概念,叫依赖注入(dependen
7、cy injection)16。 spring 框架中的各个部分都充分使用了这种依赖注入的技术实现,从而给应用以最大的灵活度。 spring 框架另外一个比较重要的技术是它对于面向切面的编程(aop)的支持。随着应用复杂度的逐渐上升和对应用灵活性要求的提高,it 逻辑和业务逻辑尽量分离的呼声也越来越高。aop 技术作为实现这种分离的一种比较好的途径而越来越受到大家的重视。spring 提供的是一种动态 aop 实现,也即通过代理模式动态地在目标对象的方法前后插入相应的处理代码。应用程序与底层应用服务器平台的解耦也可以借助 aop技术来实现。spring 内置的 aop 支持是一种锦上添花的功能
8、。它使得一些本来必须由容器支持的功能,比如事务控制可以脱离开容器运行,从而达到瘦身的目的。这也是为什么 spring 框架常被人成为轻量级容器的一个原因。(二)(二)struts 介绍介绍 struts 框架是 apache 组织的一个开放源代码的项目。为 web 应用提供一个通用的 mvc 架构,提供了对开发 mvc 系统的底层支持.它使开发3人员把更多的时间放在如何解决实际问题上。struts 框架由四个主要部分组成,模型、视图、控制器和 xml 文件。模型通常由 java bean 或 ejb组件实现,负责处理业务逻辑;视图包括一组 jsp 文件,这些文件主要由jsp 标签或客户化标签构
9、成,它简化了 jsp 页面的编码工作;在 struts 框架中控制器主要包括 action servlet 类和 action 类,action servlet 是 struts的核心部件,它接受用户的 http 请求,根据配置信息将请求转发给适当的action 对象,action 类负责调用模型的方法,并帮助控制应用程序的流程;struts 包括 web.xml 和 struts-config.xml 两个配置文件,其中 web.xml 是web 应用的发布描述文件,struts-config.xml 是与 struts 相关的特殊信息配的描述文件。 图 2 :struts 实现的 mvc
10、框架(三)(三)mvc 介绍介绍mvc 英文即 model-view-controller,即把一个应用的输入、处理、输出流程按照 model、view、controller 的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图(view)代表用户交互界面, mvc 设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(model)处理。4模型(model)就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说
11、是 mvc 最主要的核心。控制(controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系如图所示: 控制器接受用户请求调用模型响应用户请求选择视图显示模型处理后的结果 视图把用户输入数据传给控制器显示模型状态响应模型状态更新 模型封装应用程序状态响应状态查询处理业务流程 通知视图更新状态方法调用事件状态查询通知更新选择视图用户请求响应请求图 3:视图
12、,控制,模型三者之间的关系(四)(四)hibernate 介绍介绍 orm 的全称是 object-relational mapping,即“对象关系映射” 。orm 组件的主要功能是实现实体域对象的持久化并封装数据访问的细节。hibernate 是采用 orm 模式实现数据持久层的一个优秀的 java 组件,它提供强大、高效的将 java 对象进行持久化操作的服务。利用 hibernate,开发5人员可以方便地按照 java 对象的结构进行持久层的开发,并可以使用hibernate 所提供的 hql 完成 java 对象和关系型数据库之间的转换和操作。二、二、 需求分析说明需求分析说明(一)
13、(一)开发背景开发背景法院在其工作中日集月累产生了大量的档案资料,而且档案资料的数量还在不断的增加之中。在日常的工作里,原始手工管理模式给档案管理工作带来了极大的不便,人员劳动强度大,档案资料管理也困难。而且还有查询效率低,劳动强度大、归档困难、容易损坏等缺点。(二)(二) 目标目标 本系统运用当今互联网的便利性,主要解决查询效率低,当频繁查询时,解决其劳动强度大的问题以及避免法院档案管理的归档困难、档案容易损坏等问题。(三)(三)功能性需求分析功能性需求分析该系统具有以下一些特征:1) 管理员和普通用户能进行登录2)能显示档案的信息,可进行档案的查询,增加和修改 3)能显示用户信息,可对用户
14、信息进行添加和删除 4)能显示当事人信息,可对当事人进行添加和修改 业务模型和需求分析的目的是对系统进行评估,采集和分析系统的需求,理解系统要解决的问题,重点是充分考虑系统的实用性。结果可以用一个业务用例(business use case)框图表达:6 图 4:业务用例图模型中的活动者代表外部与系统交互的单元,包括管理员和普通用户。业务用例框图是对系统需求的描述,表达了系统的功能和所提供的服务,包括添加档案,修改档案,查询档案,添加用户,删除用户,查询当事人,修改用户信息。用例说明:用例说明: 表 1:登录用例用例名登录前置条件进入系统主页成功状态根据登录角色进入相应界面失败状态返回到登录界
15、面说明用户进行登录表 2:添加档案用例用例名添加档案前置条件管理员已登录成功状态提示档案添加成功失败状态返回到添加档案界面并提示操作不成功说明对录入信息的格式进行合法验证,保存添加档案7 表 3:修改档案用例用例名修改档案前置条件管理员已登录成功状态提示修改成功并显示修改后的信息失败状态返回到修改界面并提示修改错误说明对修改的信息进行合法验证,更新档案信息 表 4:查询档案用例用例名查询档案前置条件管理员或普通用户已登录成功状态显示查询到的信息失败状态返回到查询界面并提示查询错误说明对录入查询的信息进行合法验证,显示查询到的档案信息 表 5:添加用户用例用例名添加用户前置条件管理员已登录成功状
16、态显示添加用户成功失败状态返回到添加界面并提示添加错误说明完成普通用户的添加 表 6:删除用户用例用例名删除用户前置条件管理员已登录成功状态显示删除用户成功失败状态返回并提示删除错误说明完成对普通用户的删除 表 7:添加当事人用例用例名添加当事人前置条件管理员已登录或进入添加档案界面成功状态显示添加成功失败状态返回到添加界面并显示添加错误说明对录入的信息进行合法验证,添加保存当事人信息 表 8:查询当事人用例用例名查询当事人前置条件用户已登录或进入显示档案界面成功状态显示当事人的详细信息失败状态返回到查询界面并显示查询错误说明对录入的查询信息进行合法验证,显示当事人信息 表 9:修改自己信息用
17、例8用例名修改自己信息前置条件用户已登录成功状态显示修改成功后的信息失败状态返回到修改界面并显示修改错误说明对录入的修改信息进行合法验证,更新修改当事人信息 顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。 图 5:管理员登录及档案管理序列图9 图 6:管理员对当事人管理序列图 图 7:普通用户的操作序列图状态图描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。状态图设计一般是在对操作序列的顺序图细化的基础上表达。10 图 8: 管理员维护档案的状态图 图 9 :管理员维护当事人信息状态图11 图 10:普通用
18、户状态图(四)(四)系统的界面需求系统的界面需求简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。(五)(五)软件质量需求软件质量需求 易用、健壮、兼容性好、运行稳定、有一定安全保障。(六)(六) 软件环境需求软件环境需求 兼容当前主流操作系统 windows 95/98/nt/me/2000/xp,mysql 数据库,spring、struts、hibernate 开发运行环境,proxool-0.8.3 java 数据库连接池中间件,tomcat web 开发服务器。三、三、 数据库分析与设计数据库分析与设计(一)数据库环境说明(一)数据库环境说明 考虑该系统的定位与现有技术力量,决定
19、采用当前较流行的开放源代12码的 mysql 数据库作为系统的后台数据库开发环境,采用开放源代码的java 数据库连接池中间件 proxoolproxool 来连接 mysql 数据库 。(二)(二)数据库逻辑设计数据库逻辑设计(三)(三)数据库物理设计数据库物理设计 说明:空缺位置表示无要求,主键在约束栏注明。基本表:用户useruser字段类型长度约束id文本32主键password文本32name 文本10唯一非空role 文本10基本表:当事人peoplepeople字段类型长度约束id文本32主键pid文本32唯一非空name 文本10非空sex文本4非空birthday文本12非空
20、nation文本40非空race文本10非空用户用户用户 id 密码 用户名 角色当事人当事人当事人 id,姓名性别,身份证出身年月国籍,民族政治面貌文化程度出身地,原籍户籍所在地现址,电话职业,身份特殊身份备注法医档案法医档案档案类型,归档类型归档号,保密级案卷号,目录号主办人,鉴定单位鉴定法医,归档日期年龄,性别当事人,鉴定目的鉴定结果备注档案档案档案 id,档案类型归档类型,归档号保密级,案卷号目录号,案由当事人,审判长审判员 1,审判员 2 书记员,主办人收案日期,结案日期原审法院,保管日期 一审结果,二审结果再审结果,备注档案档案-当事人当事人当事人 id档案 id 13politb
21、g文本10education文本10birthplace文本50bfplace文本50nowplace文本50liveplace文本50tel文本20occupation文本10positon文本10speposition文本10note文本100基本表:档案doucument字段类型长度约束id文本32主键filekind文本10非空archkind文本10非空archno文本20非空唯一secretlevel文本6fileno文本20非空唯一dirno文本20非空唯一cause文本400client文本200非空chiefjustice文本10非空judge1文本10非空judge2文本1
22、0非空clerk文本10非空sponsor文本10非空closedate文本12enddate文本12formcourt文本20firstjudge文本200secjudge文本200thirdjudge文本200arhdate文本12bgqx文本10note文本100基本表:当事人_档案peopledocument字段类型长度约束peopleid文本32主键documentid文本32主键14基本表:法医档案fydocument字段类型长度约束id文本32主键filekind文本10非空archkind文本10非空archno文本20非空唯一fileno文本20非空唯一dirno文本10非空
23、唯一purpose文本100sponsor文本20client文本20corporation文本20doctor文本20非空result文本200exandate文本12archdate 文本12age文本3sex 文本2note文本200(四)(四)数据库连接池配置数据库连接池配置 数据库连接池:在访问数据库前需连接数据库,而每次创建新的数据库连接要消耗大量的资源,数据库连接池技术就是为了解决资源消耗问题。它的原理是:在运行时,同时打开着一定数量的数据库连接,形成数据连接池,当需要用到数据连接时,就从中取出一个连接,完成某些 sql 操作后,再把连接回收到连接池中,以供其它用户(或进程)调用
24、。本系统采用开放源代码的数据库连接池中间件 proxool,其配制如下: dbpool jdbc:mysql:/localhost:3306/order1 org.gjt.mm.mysql.driver 15 90000 5 100 10四、 系统设计与实现系统设计与实现(一)(一)系统结构系统结构 图 11:系统结构 功能说明:法医档案管理系统登录法医档案管理当事人管理查询所有档案显示当事人显示所有档案添加添加普通档案管理查询用户管理所有用户修改添加修改当事人信息16(1)普通档案管理:可以根据档案的一个或多个字段来查询所需的档案。在添加档案信息的同时也可新打开一个添加当事人的页面添加当事人
25、的信息。显示所有档案功能先显示部分档案信息,当需要查看其详细信息时再显示其详细信息,在档案的详细信息中有当事人的链接,可查看当事人详细信息。(2)法医档案管理:可以根据档案的一个或多个字段来查询所需的档案。在添加档案信息的同一页面添加被鉴定人的信息。 显示所有档案功能先显示部分档案信息,当需要查看其详细信息时再显示其详细信息。(3)用户管理:管理员可查看所有的用户,也可进行用户的添加和删除。(4)当事人管理: 普通用户可查看当事人的详细信息,但不能对其进行修改,管理员不但可查看还可以对其进行修改。(二)(二)系统的构架设计系统的构架设计 系统主要有如下 3 个包:1) 用户接口包(表示层)用户
26、接口包在其他包的顶层次,为系统用户提供访问信息和服务。其主要包括 jsp 和 actionform 等文件。17 系统所有 action 类都继承 baseaction 类,在 baseaction 类中获得系统 spring 所配置的业务层 bean 对象的实例。 用户登录及处理的 actionform,action 类图: 图 12:用户登录及处理的 actionform,action 类图 档案的 actionform,action 类图:18 图 13:档案的 actionform,action 类图2) 业务逻辑包(业务层) 主要完成业务逻辑的处理工作,它既要调用持久层的方法来完 成
27、数据的持久化和查询工作也要业务方法暴露给表示层,以便表示层的调用。 系统业务接口及其实现类图如下:19 图 14:系统业务接口及其实现类图203) 数据持久 dao 包(持久层) 该包实现数据的持久化,也就是与数据库交互,实现数据的存取、修改等操作。spring 的 hibernatedaosupport 基类提供了访问与当前事务绑定的 session 对象的函数。所有 dao 类都继承 hibernatedaosupport 这个基类。系统 dao 封装了各对象域模型进行持久化操作的各种方法,系统dao 接口及实现类图如下: 图 15:系统 dao 接口及实现类图21(三)对象域模型(三)对
28、象域模型 经过上面分析系统主要包括:管理员,用户,普通档案,法医档案,当事人五个实体。我们可把管理员和用户看作一个实体-用户 user。a) 用户 包含管理员和普通用户,管理员可进档案的删除,添加,查询修改以及对普通用户的删除,添加等,普通用户可对档案进行查询操作。 b) 普通档案 提供刑事,诉讼等案情的一些详细资料。c) 当事人提供案件的当事人的一些详细资料。d) 法医档案提供法医鉴定案件的一些详细资料。1 1、实体对象的实现、实体对象的实现 用户实体对象的具体实现:package cn.fy.model;public class user private string id;private
29、 string name;private string password;private string role; /用户的角色管理员或普通用户public user()public string getid() return id;public string getrole() return role;public void setrole(string role) 22 this.role = role; 普通档案对象实体的具体实现:package cn.fy.model;import java.util.*;public class document private string id;
30、private string filekind;/档案类型private string archkind;/归档类型private string archno; /归档号private string secretlevel;/保密级private string secjudge; /二审结果private string thirdjudge; /三审结果private string archdate; /归档日期private string bgqx ;private string note; /备注private set people=new hashset();/当事人public set
31、 getpeople() return people;public void setpeople(set people) this.people = people;public string getarchdate() return archdate; public string getthirdjudge() return thirdjudge;public void setthirdjudge(string thirdjudge) this.thirdjudge = thirdjudge;法医鉴定档案对象实体:package cn.fy.model;public class fydocum
32、ent private string id; private string filekind;/档案类型private string archkind;/归档类型23private string archno; /归档号private string fileno; /案卷号private string note; /备注public string getage() return age;public void setage(string age) this.age = age;public void setsponsor(string sponsor) this.sponsor = spons
33、or;当事人对象实体:package cn.fy.model;import java.util.*;public class people private string id;private string pid;/身份证号private string name;/姓名private string sex;/性别private string birthday;/出身日期private string nation;/国籍private string race;/民族 private string note;private set document=new hashset();public set
34、 getdocument() return document;public void setdocument(set document) this.document = document;public string getbfplace() return bfplace; public void settel(string tel) this.tel = tel;242 2、对象域模型的配置对象域模型的配置实体对象映射文件的主要作用是描述这些 java 持久层对象以及它们的属性和数据库中的表以及表中字段之间的关系,这样,hibernate 才能自动建立 java 对象与数据库表中数据的关联关系
35、,从而实现它们之间的相互转换。映射文件的名称一般于 java 对象的名称相同,扩展名使用.hbm.xml,以便于和普通的 xml 文件进行区分。用户实体对象的配置文件:档案实体对象的配置文件: 25 法医鉴定档案实体的配置文件:当事人实体对象的配置文件: (四)系统持久层(四)系统持久层 daodao 的实现的实现26 建立自己的 dao 接口系统会有更好的灵活性,通过这种使用接口的编程方法,可以在方法调用者和方法的具体实现之间建立一个屏障,即它们不存在任何的关联,一边的修改不会影响到另一边的正确运行。 用户 dao 接口 userdao 的定义:package cn.fy.dao;impor
36、t java.util.list;import cn.fy.model.user;public interface userdao public user getuser(string name);/根据实体对象的name得到相应的实体public list getalluser(string sql);/根据提供的sql得到所有的相应实体public user getuserbyid(string id);/获得相应id的实体对象public void deleteuser(user user);/删除用户public void adduser(user user);/添加用户public
37、void updateuser(user user);/更新用户信息 用户 dao 接口 userdao 的实现: package cn.fy.dao;import java.sql.sqlexception;import java.util.list;import org.hibernate.*;import org.hibernate.hibernateexception;import org.springframework.orm.hibernate3.hibernatecallback;import org.springframework.orm.hibernate3.support.
38、hibernatedaosupport;import cn.fy.model.user;public class userdaoimpl extends hibernatedaosupport implements userdao public userdaoimpl()super(); /保存用户public void adduser(user user) this.gethibernatetemplate().save(user);this.gethibernatetemplate().flush(); /删除用户public void deleteuser(user user) this
39、.gethibernatetemplate().delete(user);/this.gethibernatetemplate().flush(); /获得所有用户public list getalluser(string sql) 27/ todo 自动生成方法存根list user=this.gethibernatetemplate().find(sql);return user; /获得相应姓名的用户public user getuser( final string name) / todo 自动生成方法存根return (user)this.gethibernatetemplate()
40、.execute(new hibernatecallback()public object doinhibernate(session session)throws hibernateexception,sqlexceptionstring sql=from user u where = :name;query query=session.createquery(sql);query.setstring(name,name);return (user)query.uniqueresult();); public user getuserbyid(string id ,boolean
41、 lock) / todo 自动生成方法存根user user=null;if(lock) user=(user)this.gethibernatetemplate().get(user.class,id,lockmode.upgrade);else user=(user)this.gethibernatetemplate().get(user.class,id);return user;public void updateuser(user user) / todo 自动生成方法存根this.gethibernatetemplate().update(user);this.gethibern
42、atetemplate().flush(); 档案 dao 的定义:public interface documentdao public void adddocument(document d);/添加档案public void updatedocument(document d);/更新档案public page getdocument(string sql,page page);/分页显示档案 public document getdocumentbyid(string id);/获得相应id的档案public page getpridocument(page page);/获得前一页p
43、ublic page getnextdocument(page page);/获得下一页 档案dao的实现:public class documentdaoimpl extends hibernatedaosupport implements documentdao 28private page page; /用于分页显示的javabean public page getpage() return page; /设置当前页public void setpage(page page) this.page = page; /添加档案public void adddocument(document
44、d) / todo 自动生成方法存根this.gethibernatetemplate().save(d);this.gethibernatetemplate().flush();public page getdocument(string sql, page page) / todo 自动生成方法存根this.setpage(page);list docs=this.gethibernatetemplate().find(sql);page.setpage(docs);page.setsql(sql);list doc=this.getresult();page.setlist(doc);r
45、eturn this.page;public document getdocumentbyid(string id) / todo 自动生成方法存根document doc=(document)this.gethibernatetemplate().get(document.class,id);return doc; /获得下一页public page getnextdocument( page page) / todo 自动生成方法存根this.setpage(page);this.page.getnextpage();list doc=this.getresult();this.page.
46、setlist(doc);return this.page; /获得上一页public page getpridocument( page page) / todo 自动生成方法存根this.setpage(page);this.page.getpreviouspage();list doc=this.getresult();29this.page.setlist(doc);return this.page;public void updatedocument(document d) / todo 自动生成方法存根this.gethibernatetemplate().update(d);th
47、is.gethibernatetemplate().flush(); /获得查询结果public list getresult()return gethibernatetemplate().executefind(new hibernatecallback()public object doinhibernate(session session)throws hibernateexception,sqlexceptionquery query=session.createquery(page.getsql();query.setfirstresult(page.getpagestartrow(
48、);query.setmaxresults(page.getpagerecorders();listlist=query.list();return list;); 法医鉴定档案 dao 的定义:public interface fydocumentdao public page getfydocument(string sql,page page);/获得查询的法医档案public void updatefydocument(fydocument doc);/更新法医档案 public fydocument getdocbyid(string id); /获得相应id的法医档案 public
49、 void savefydoc(fydocument doc); /保存法医档案 public page getnextfydoc(page page); /获得下一页public page getpreviousfydoc(page page);/获得上一页 法医鉴定档案 dao 的实现:public class fydocumentdaoimpl extends hibernatedaosupport implementsfydocumentdao private page page; /用于分页显示的javabeanpublic page getpage() return page;pu
50、blic void setpage(page page) this.page = page;30public fydocument getdocbyid(string id) fydocument doc=(fydocument)this.gethibernatetemplate(). get(fydocument.class, id);return doc;public page getfydocument(string sql, page page) / todo 自动生成方法存根this.setpage(page);list people=this.gethibernatetemplat
51、e().find(sql);page.setpage(people);page.setsql(sql);list client=this.getresult();page.setlist(client);return this.page;public page getnextfydoc( page page) / todo 自动生成方法存根this.setpage(page);this.page.getnextpage();list client=this.getresult();this.page.setlist(client);return this.page;public page ge
52、tpreviousfydoc( page page) / todo 自动生成方法存根this.setpage(page);this.page.getpreviouspage();list client=this.getresult();this.page.setlist(client);return this.page;public void savefydoc(fydocument doc) / todo 自动生成方法存根this.gethibernatetemplate().save(doc);this.gethibernatetemplate().flush();public void
53、updatefydocument(fydocument doc) / todo 自动生成方法存根this.gethibernatetemplate().update(doc);this.gethibernatetemplate().flush();public list getresult()return gethibernatetemplate().executefind(new hibernatecallback()public object doinhibernate(session session)31throws hibernateexception,sqlexceptionquer
54、y query=session.createquery(page.getsql();query.setfirstresult(page.getpagestartrow();query.setmaxresults(page.getpagerecorders();listlist=query.list();return list;); 当事人 dao 的定义:public interface clientdao public people getclientbyid(string id);/得到相应id的当事人public page getclient(string sql,page page);
55、/获得所查询的当事人public page getnextclient(string sql,page page);/获得前一页public page getpreviousclient(string sql,page page);/下一页public void addclient(people people);/添加保存当事人public people getclientbypid(string str);/得到相应身份证号的当事人public void updateclient(people people);/更新当事人信息 当事人dao的实现:public class clientdao
56、impl extends hibernatedaosupport implements clientdao private page page;/用于分页显示的javabeanpublic page getpage() return page;public void setpage(page page) this.page = page; /添加/保存当事人public void addclient(people people) / todo 自动生成方法存根this.gethibernatetemplate().save(people);this.gethibernatetemplate()
57、.flush(); /获得所查询的当事人public page getclient(string sql,page page) / todo 自动生成方法存根this.setpage(page);list people=this.gethibernatetemplate().find(sql);page.setpage(people);page.setsql(sql);list client=this.getresult(sql);32page.setlist(client);return this.page;/返回查询结果public list getresult(final string
58、sql)return gethibernatetemplate().executefind(new hibernatecallback()public object doinhibernate(session session)throws hibernateexception,sqlexceptionquery query=session.createquery(page.getsql();query.setfirstresult(page.getpagestartrow();query.setmaxresults(page.getpagerecorders();listlist=query.
59、list();return list;); /获得相应id的当事人public people getclientbyid(string id) / todo 自动生成方法存根people people=(people)this.gethibernatetemplate().get(people.class,id);return people; /上一页public page getpreviousclient(string sql, page page) / todo 自动生成方法存根this.setpage(page);this.page.getpreviouspage();list cli
60、ent=this.getresult(sql);this.page.setlist(client);return this.page; /下一页public page getnextclient(string sql, page page) / todo 自动生成方法存根this.setpage(page);this.page.getnextpage();list client=this.getresult(sql);this.page.setlist(client);return this.page; /得到相应身份证号的当事人public people getclientbypid(fin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仓储事故预防措施试题及答案
- 2024年物流师职业发展规划试题与答案
- 智能化物流的趋势与展望试题及答案
- 餐饮行业培训
- 餐饮成本控制
- 初一历史知识点总结
- 项目管理培训
- 2025年中国信封用纸市场调查研究报告
- 2025年中国伞齿轮浆液阀项目投资可行性研究报告
- 2025年中国亚麻粘混纺面料市场调查研究报告
- 化工生产物料和能量平衡课件
- DBJ50∕T-029-2019 地质灾害防治工程设计标准
- 五年级《红楼梦》读后感500字6篇
- 前期物业介入主要工作计划表
- 人教版初一七年级下册数学课时练《5.3.2 命题、定理、证明》试题试卷
- 少儿绘画之《跳跃的海豚》
- (高职)国际贸易理论与实务ppt课件(完整版)
- 跨境电商B2B实务全套ppt课件完整版教学教程-最新
- 湘教版高中地理必修第二册 4.3 海洋权益与我国海洋发展战略 教学课件
- 山西安全资料地标表格
- 心理学专业英语总结(完整)
评论
0/150
提交评论