基于ORM数据映射工具的设计与分析

基于ORM数据映射工具的设计与分析

论文摘要

面向对象设计的机制与关系模型的不同,造成了面向对象设计与关系数据库设计之间的不匹配,本课题的背景就是建立这种不匹配的基础之上。面向对象设计基于如耦合、聚合、封装等理论,数据绑定在对象上,并由对象中的方法处理。而关系模型基于数学原理,是以行、列和表的形式存储数据。不同的理论基础导致了不同的优缺点。对象模型侧重于使用包含数据和行为的对象来构建应用程序;关系模型则主要针对于数据的存储。当为访问数据寻找一种合适的方法时,这种不匹配就成为了主要矛盾:使用对象模型,常常通过对象之间的关系来进行访问;而根据关系理论,则通过表的连接、行列的复制来实施数据的存取。这种基本的不同使两种机制的结合并不理想。换言之,需要一种映射机制来解决该矛盾,从而获得成功的设计。本课题主要工作是开发一种“基于ORM的数据映射工具”。目标是解决在以数据库为中心的应用程序中使用对象所面临的上述问题。该工具可以使应用程序能够使用一个关系型数据库透明地存储和检索对象。解决方案是使用元数据方案来描述业务对象与数据库是如何对应的。在运行时,该工具使用元数据自动生成SQL、运行请求并根据结果构建对象。这意味着你不仅无须对你的业务对象进行任何基于SQL的硬编码,无须创建特定超类的子类或使用生成的代码,不必了解任何有关SQL或数据库的知识。你只需直接处理对象,就好像处理任何普通的Java对象一样。该工具由两个功能模块组成:Mapping Workbench(映射工作台)和DataAccess Object(DAO数据访问对象层)。Mapping Workbench提供图形化界面用来构建将对象映射到数据库的元数据。这个工具使你能够将Java类映射到存储其实例的关系数据库表中,同时也将类的属性映射到相关表的字段中。该工具使用由Mapping Workbench生成的元数据来描述业务对象与一个特定的数据库模式是如何对应的。第二个功能模块数据访问层封装了对数据库的访问,允许开发人员专注于商业领域的问题。即意味着,封装访问数据库的类以为开发者提供足够简单的CRUD接口(select、insert、delete、update、selectInfoSet等接口),来实现对数据库的增、删、改、查询等功能。另外,对数据库设计也提供了封装,使开发者无需了解数据库的私有实现。DAO层彻底地隐藏了存储机制,隔离了可能的修改。数据访问层需要元数据提供映射对象所需要的信息。当商业规则如同以往发生变化时,DAO层的代码应无需改变。另外,如果数据库更改时,可能是安装新的数据库或是DBA重组数据表,唯一所需要修改的是元数据中的信息。当你操作业务对象时,该工具就会构建SQL查询来更新数据库。这是一个自动化的过程,这样就减少了对数据库的依赖性,更加便于维护,同时使对SQL语句不熟悉的开发人员也能够根据业务域编写查询。该工具负责所有生成SQL的任务并返回代表结果的对象。本课题的理论与实际意义是提供一种易于使用的自动数据映射工具,它有助于解决在以数据库为中心的应用程序中使用对象所面临的这些问题。它可以使应用程序能够使用一个关系型数据库透明地存储和检索对象。该技术在以面向对象技术建构的系统和传统的关系数据库间进行自动映射,无需编写SQL语句,持久化存取。甚至复杂的查询也能够无需手工编写SQL语句,极大地降低了开发工作量。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题的开发背景
  • 1.2 何为对象关系映射(ORM)
  • 1.3 目前市场中应用的ORM框架及其优缺点
  • 1.3.1 EJB CMP
  • 1.3.2 TopLink
  • 1.3.3 JDO
  • 1.3.4 Hibernate
  • 1.4 本文的主要工作
  • 1.5 本文的组织结构
  • 第二章 关于ORM的背景知识
  • 2.1 对象的映射
  • 2.1.1 属性映射成字段
  • 2.1.2 类映射成表
  • 2.1.3 关系映射
  • 2.2 引用完整性及关系约束检查
  • 2.2.1 对象之间的关系和父表操作的约束
  • 2.2.2 子表操作的约束
  • 2.2.3 小结
  • 2.3 对象标识符(Object ID)
  • 2.3.1 OID不应具有商业意义
  • 2.3.2 OID的唯一性
  • 第三章 系统的设计
  • 3.1 系统建模
  • 3.1.1 元数据模型设计
  • 3.1.2 业务数据模型设计
  • 3.2 系统数据库设计
  • 3.2.1 元数据的数据库设计
  • 3.2.2 业务数据的数据库设计
  • 3.3 映射工作台(Mapping workbench)设计
  • 3.4 数据访问层(DAO)设计
  • 3.4.1 通过DAO在关系数据库中实现关系
  • 3.4.2 数据访问接口设计
  • ID)分析设计'>3.5 对象标识符(ObjectID)分析设计
  • 3.5.1 在整数列上使用MAX()
  • 3.5.2 使用Persistence机制提供的功能
  • 3.5.3 HIGH/LOW方法
  • 3.5.4 HIGH/LOW方法的实现分析
  • 第四章 系统的实现
  • 4.1 系统运行的软、硬件环境
  • 4.1.1 硬件环境
  • 4.1.2 软件环境
  • 4.2 系统实现
  • 4.2.1 映射工作台(Mapping workbench)的实现
  • 4.2.2 数据访问层(DAO)的实现
  • 4.2.3 对象标识符(Object ID)的实现方法
  • 4.3 系统实现—基于模型的界面
  • 第五章 系统测试
  • 5.1 测试环境
  • 5.2 测试工具
  • 5.3 测试方案
  • 5.4 测试报告
  • 5.4.1 性能测试
  • 5.4.2 负载测试
  • 5.4.3 压力测试
  • 5.5 测试用例
  • 5.5.1 员工信息新建
  • 5.5.2 员工信息查询
  • 5.5.3 员工信息更新
  • 第六章 总结与展望
  • 6.1 系统完成的功能
  • 6.1.1 映射工作台
  • 6.1.2 数据访问层
  • 6.2 展望
  • 参考文献
  • 致谢
  • 学位论文评阅及答辩情况表
  • 相关论文文献

    • [1].服务流程的自动数据映射[J]. 计算机集成制造系统 2012(08)
    • [2].图形化反射内存网络数据映射测试方法[J]. 计算机工程与设计 2016(01)
    • [3].用于实现语义互操作的映射研究[J]. 现代情报 2012(08)
    • [4].对等点的数据映射推导算法研究[J]. 计算机工程与应用 2009(03)
    • [5].系统通用模块建设思考[J]. 网络安全和信息化 2020(01)
    • [6].基于波动方程地震数据映射的随机噪声去除方法研究[J]. 地球物理学进展 2015(04)
    • [7].SoC数据映射中的快速应用程序存储分析方法[J]. 计算机研究与发展 2010(02)
    • [8].基于不同模型数据映射的储液罐抗震性能研究[J]. 武汉大学学报(工学版) 2015(04)
    • [9].关联数据映射语言:R2R[J]. 中国图书馆学报 2012(03)
    • [10].公共数字文化资源中视频源数据映射研究[J]. 图书馆杂志 2016(08)
    • [11].大型异构数据库数据迁移系统的研究与应用[J]. 计算机应用与软件 2012(07)
    • [12].泛化双向相似连接[J]. 软件学报 2017(12)
    • [13].XML数据到关系数据的映射[J]. 华侨大学学报(自然科学版) 2011(01)
    • [14].数据映射技术在油田钻井资料汇交系统中的应用[J]. 黑龙江科技信息 2013(31)
    • [15].面向水利业务应用的数据集成及其服务模式[J]. 水利信息化 2011(04)
    • [16].用修正数据映射方法实现快速稳健子空间跟踪[J]. 上海航天 2010(04)
    • [17].数据交换在数字化校园中的作用与实现[J]. 办公自动化 2009(02)
    • [18].省级税网及财税人才网站设计[J]. 电脑知识与技术 2009(01)
    • [19].数字孪生驱动的造船精细化工时管理模式及应用研究[J]. 软件导刊 2020(11)
    • [20].基于兴趣值的数据映射与集成研究[J]. 计算机应用与软件 2010(09)
    • [21].基于用户兴趣的数字资源的集成化研究[J]. 计算机应用与软件 2008(08)
    • [22].基于坐标插值映射法的变压器电磁热场模拟[J]. 广东电力 2020(02)
    • [23].SNOMED CT体系下医疗健康大数据映射和迁移方法研究[J]. 情报学报 2018(05)
    • [24].电子音乐作品《东京速度》创作分析[J]. 当代音乐 2015(24)
    • [25].二维电磁场-流体-温度场耦合仿真节点数据映射算法研究[J]. 电工技术学报 2018(01)
    • [26].非线性映射的气象数据可视化及其应用[J]. 燕山大学学报 2015(03)
    • [27].社保征缴系统基于XML信息数据的应用分析[J]. 中国新通信 2014(16)
    • [28].Simulink模型在HLA仿真中的应用方法研究[J]. 计算技术与自动化 2012(03)
    • [29].高等学校电子校务数据交换平台实现机制探讨[J]. 商丘师范学院学报 2011(09)
    • [30].矢量网络分析仪图表的数据映射技术[J]. 电子质量 2017(02)

    标签:;  ;  ;  

    基于ORM数据映射工具的设计与分析
    下载Doc文档

    猜你喜欢