1、 ,基金项目微型电脑应用 年第 卷第期基金项目:咸阳师范学院专项科研计划项目(;);咸阳师范学院教学改革研究项目();咸阳师范学院 年省级大学生创新创业训练计划项目()作者简介:欧阳宏基(),男,硕士,副教授,研究方向为软件工程、企业级应用;葛萌(),女,硕士,讲师,研究方向为软件工程;程海波(),男,本科生,研究方向为物联网工程。文章编号:()框架在数据持久层中的应用研究欧阳宏基,葛萌,程海波(咸阳师范学院,计算机学院,陕西,咸阳 )摘要:针对原生 在数据持久层开发中存在的硬编码、结果集与对象映射繁琐等缺点,提出了基于 框架的数据持久层开发方案。分析了 框架的核心组件及功能,阐述了开发 的两
2、种实现方法,结合目标考核管理系统的实际需求,详细描述了 框架的具体应用过程。实践表明 框架简化了 的开发,解耦合了 语句与 代码,省略了查询结果集与 对象的映射过程,能够提高数据持久层的开发效率。关键词:框架;数据持久层;设计模式;结果集映射中图分类号:文献标志码:,(,):,:;引言 是 平台中用来访问关系型数据库的原生 ,它存在若干缺点:频繁进行 对象的创建和销毁,影响数据库性能;将 语句硬编码到 代码中,导致 语句的修改,要重新编译 代码;将 对象中的占位符参数硬编码到 代码中,不利于系统维护;从结果集遍历数据时,需要编写数据表字段与对象属性的映射逻辑。针对上述缺点,本文提出基于 框架的
3、数据库持久层设计方案。首先分析了 框架的核心组件与执行流程,阐述了 实现 的两种方案并分析了优缺点,结合目标考核管理系统持久层的部分业务逻辑详细描述了 的应用过程,为数据持久层的开发提供了一定的借鉴。概述 基本概念 对 进行了二次封装,能够与第三方数据库连接池集成,实现 对象的复用。使开发人员将主要精力放在编写 语句上,通过映射方式,半自动化地生成持久化代码。通过输入映射自动完成 向 中输入参数,通过输出映射自动将结果集映射成 对象,实现了 代码与 的解耦。使得开发人员无须花精力去处理诸如注册驱动、创建 、创建 、手动设置参数、结果集检索等繁琐的操作。核心组件 的核心组件包括以下部分,结构如图
4、所示。()核心配置文件:它是 的全局配置文件,主要 ,基金项目微型电脑应用 年第 卷第期完成数据源、事务处理、延迟加载、缓存和加载映射文件等配置。()映射文件():定义操作数据库的 语句,实现输入映射和输出映射。()(会话工厂):根据配置文件由 创建 会 话 工 厂,从 而 创 建 对象。():定义了一组数据库操作的 。():它是 内部真正操作数据库的对象。根据 传递的参数动态地生成需要执行的 语句,同时负责查询缓存的维护。():对映射信息进行封装,用于存储要映射的 语句的、参数等。图 框架核心组件 执行流程 的执行流程如图所示。首先通过流加载核心配置文件,然后将流对象注入 对象用于创建 对象
5、,从 对象中获取 ,利 用 的 ()、()、()、()、()等方法操作数据库,最后关闭 对象。图 框架的执行流程 框架开发数据持久层的方法数据持久层在 中主要用来为业务逻辑层提供访问数据源的接口,封装操作数据源的逻辑和相关 ,完成实体对象与数据库表的映射。普遍采用 设计模式来封装数据持久层的代码。所以,框架完成数据持久层开发主要就是实现 ,如图所示。提供了两种实现 的方式:一种是传统 的实现方式,需要编写 接 口、的 实 现 类、实 体 类 和 映 射 文 件,在 实现类中调用 的 操作数据库;另一种实现方式是采用动态代理技术自动生成 实现类的对象,开发人员只需编写 接口、实体类和映射文件,不
6、需要编写 的实现类,通过 的 ()方法就能自动生成 实现类的对象。相比传统 的实现方式,此方式无需编写调用 操作数据库的代码,能够提高数据持久层的开发效率。图 开发持久层示意图在目标考核管理系统中的应用 系统简介高等院校目标考核管理系统是在高校多职能部门的配合下采用信息化手段进行人力资源管理的一个应用软件。其功能模块包括:基础数据维护、教工信息管理、指标管理、信息查询、系统维护等。用户角色包括:教工、各职能部门管理员、系统管理员、校领导。系统基于 模式、采用 分层架构模型,数据持久层利用 框架进行设计与开发。核心配置文件的实现定义 作为核心配置文件,利用 数据库连接池作为数据源。首先通过 标签
7、的 属性加载 文件,该文件定义了数据库驱动、用户名、密码、数据库连接池配置参数等信息。然后通过 标签定义数据源,通过 表达式读取 文件中的值。采用 的事务管理,由 控制事务。通过 标签进行全局参数配置,包括延迟加载和二级缓存。通过 标签以批量方式为 类定义别名。最后通过 标签来加载映射文件。接口的实现采用动态代理生成 实现类的方式作为持久层的开发方法。首先要定义 接口(接口),其中定义与实体类或角色对应的持久化方法。目标考核系统持久层一共定义了 、等 个 接口。以系统中校领导角 ,基金项目微型电脑应用 年第 卷第期色为例,对应的 接口中与查询科研数据有关的部分源码如下:();();实体类的实现
8、定义实体类与数据库表进行映射,其中的属性包括两类:一类是与表字段一一对应的基本属性;另一类是在联合查询中定义所关联的对象或对象集合。方法包括设置和获取属性的 和 方法。目标考核系统中所包含的实体 类 有:、等 个。映射文件的实现相对于原生 ,框架将 语句转移到映射文件中定义,实现了与 代码的解耦合。因此,编写映射文件是使用 框架的核心内容。映射文件中主要定义与 接口中方法一一对应的 ,主要包括 、语句、输入映射和输出映射。其中,、和 标签分别定义数据库的增、删、改和查询操作。输入映射定义对应 语句所需要的参数,输出映射定义 语句所返回的数据类型。在执行数据库操作时会把 解析成一条具体的 ,将输
9、入映射类型中的数据替换 语句中的?占位符,将执行结果转换成输出映射对应的 数据类型。以 为例,它是 接口对应的映射文件。其中,()方法的逻辑是按照年份、学院、职称等条件相组合来查询发表的论文数据。表示论文信息的数据传输对象,是输入映射的 类型,该类封装了查询语句需要的参数信息,具体包括 实体类、实体类和年份。执行结果转换成 类型,它是论文信息的实体类。考虑到用户在页面所选查询条件的不同,需要根据不同查询条件来动态拼接 语句。工具类的实现持久层的 接口和映射文件定义完成后需要在 中进行单体测试,确保逻辑正确后才能供业务层组件调用。将 操作数据库的共性步骤封装到工具类中,这样可以避免冗余代码。定义
10、 工具类将加载配置文件、创建 、创建 、释放资源等操作进行封装,并且确保 是一个单例对象。总结数据持久层在 分层架构中占据着举足轻重的地位,稳定、高效的持久层开发方案一直是 应用开发的重点。本文提出了基于 框架的数据持久层应用开发方法,并成功应用到目标考核管理系统数据持久层的设计与实现中。框架通过映射文件分离了 代码与 语句,通过输入映射、输出映射以及 的动态生成等功能 简 化 了 代 码 编 写 量,提 高 了 数 据 持 久 层 的 开 发效率。参考文献韩兵,沈冲,方英兰基于 的缓存数据细粒度管理的研 究 计 算 机 技 术 与 发 展,():曾国林,傅秀芬一种新的数据库连接池模型的研究计
11、算机与数字工程,():张旭刚,张昕,高若寒基于 与 框架构建 动 态 读 写 分 离 模 型 微 型 电 脑 应 用,():荣艳冬关于 持久层框架的应用研究信息安全与技术,():陈欣基于 三层构架的管理信息系统中 层的构建探索科技资讯,():欧阳宏基,葛萌 数据初始化应用中的设计模式解 决 方 案 计 算 机 系 统 应 用,():欧阳宏基,宋笑雪,李红高等院校目标考核信息化框架研 究 计 算 机 技 术 与 发 展,():邵全勇,雒海东 基于 的旅游电子商务平台的设计与实现 自动化仪表,():蔡创 基于 和 的在线教学系统的研究与实现 自动化与仪器仪表,():刘松基于设计模式的校园网异构数据整合方案研究吉林师范大学学报(自然科学版),():(收稿日期:)