|
关键词:持久层 o/r映射 一卡通系统 一卡通
摘 要:主要论述运用基于O/R(Object/Relational对象/关系)映射技术的hibernate框架来设计一卡通系统中持久层,从持久层的设计到实现都做了具体的说明.先介绍一卡通系统持久层的整体架构,再从具体类之间的关系对持久层做了详细的设计,最后通过一卡通持久层的实现来完成从理论到实践、从设计到实际应用的过程. (5)持久管理器类 Session起着持久管理器的功能,它由Session—Facrory生成,在运行时刻Session维护到持久机制(关系数据库)的连接并管理持久机制的交互.Session实际上是在Connection、Query、Criteria和Transaction之间扮演了一个协调者,因为它是这些类的实例提交自己并被处理的地方.Session借助SessionFactorylmplementor和Sessi0nImplement0r与SQL生成器类层次,映射类层次和持久化机制类层次进行交互. 启动应用程序时,开始要做的事情之一就是让Session将创建映射类(ClassMap,AttributeMap )实例所需要的信息从持久机制读进来.Session会在内存中缓冲这些映射类,以便在映射对象到持久机制的时候使用它们.Session的save、delete和load方法,将调用ClassPersister的相应方法来实现对象的持久化管理.如果已知某个持久化实例的标识符,Session的load方法可取出它.一种形式使用一个类对象作为参数,会把状态装载到另一个新创建的对象中去.另一种是给出一个实例,会在其中装载状态. 1.3 持久层的应用实现 在一卡通系统中,所有的业务对象,如用户对象、帐户对象、报表对象、权限对象、角色对象、日志对象等,都由持久层持久化服务将其映射至数据库中相关的表,这些对象之间的关系表,如一对一、一对多、多对多等也由持久层映射中的one to one、many to one、collection的many to many、one to many等元素映射在持久化对象中. 1.3.1 持久层配置 持久层的配置使用xml(eXtensible Markup Language扩展性标识语言)进行配置.配置文件命名为hibernate.cfg.xm1.我们主要配置数据库连接的各种参数和根据项目的进展逐步添加涉及的映射文件,以供持久层管理事务、产生SQL和管理JDBC连接等. 1.3.2 数据表的设计 数据库设计主要是对各个业务对象设计相应的表和它们之间的关系表,同一般的数据库设计一样.一卡通系统包括学校基本信息表、食堂营业部门表、帐户表、卡表、卡类型表、消费数据表及操作日志表等等.多数表之问存在关系,如帐户和卡之问存在一对多的关系、卡类型和卡之问存在一对多的关系等. 1.3.3 实体Bean(EntityBean)的编写 将一卡通系统中所有需要持久化的类以标准JavaBean的形式编写.对每一个属性值都要有public的getXXX和setXXX,命名符合bean方法的命名规则. 1.3.4 映射(Mapping)文件的编写 Mapping文件写得正确与否关系着持久层的持久化服务能否正常运行;写得是否合适对整个解决方案的性能也有很大的影响.在这里,需要注意的就是各种关系的映射.映射文件的放置位置要和配置文件hibernate.cfg.xml中指明的位置保持一致. 1.3.5 持久化对象操作 先用Configuration方法调用properties文件进行系统环境的初始化配置,并且利用addClass分别调用映射资源文件(object.xm1)和映射类文件(object.class).调用configuration.getproperties,检查所使用的数据库,检查表的关联性,一对多等关 系的设置,检查外键约束性等.使用数据库的JDBC的驱动连接数据库,查看所用数据库连接池,同时检验JNDI等的配置情况. 2 程序的执行 显示结果,启动应用服务器jboss进行系统的初始化,实现持久层与Oracle数据库的连接.如图2在eclipse(java开发环境)的控制台中的运行结果.
图2 eclipse IDE下程序的jboss启动服务的初始化运行结果 3 结束语 |
| 【相关文章】 |
·一卡通系统数据交换模式初探 2008-07-08 ·校园一卡通系统数据管理问题及对策 2008-04-18 ·基于J2EE的城域网公交一卡通系统设计 2008-01-18 ·基于VLAN技术的校园“一卡通”管理系统 2008-01-15 ·维根及ABA磁卡编码产生器原理和实现方法 2008-01-14 |
| 【图片文章】 |




