[发明专利]一种基于ORM架构的高效数据库访问的实现方法及装置在审
申请号: | 201110165590.X | 申请日: | 2011-06-20 |
公开(公告)号: | CN102841889A | 公开(公告)日: | 2012-12-26 |
发明(设计)人: | 柯志勇;程兵旺 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京元本知识产权代理事务所 11308 | 代理人: | 秦力军 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 orm 架构 高效 数据库 访问 实现 方法 装置 | ||
技术领域
本发明涉及一种基于对象关系映射(Object Relational Mapping,ORM)架构的高效数据库访问的实现方法及其装置。
背景技术
目前,面向对象的程序设计方法是企业级应用开发环境中的主流开发方法,而关系型数据库是企业级应用中存放数据的主流数据存储方式,因此在开发过程中,一些业务逻辑常常需要直接调用结构化查询语言(Structured Query Language,SQL)语句来实现,但这样开发的缺点是,到处是SQL语句,开发效率很低、出错率很高、程序易维护性、可扩展性很差等缺点。
为了提高项目的灵活性,提高开发效率,ORM是一个很好的选择,当数据库模型改变时,不再需要关注逻辑代码和SQL语句中涉及到该模型的所有改动,甚至不做改动就可以满足要求。
但是,已有ORM概念的系统的开源框架大多存在以下缺点:
一、有些功能很强大,但结构复杂,不易于程序的移植和代码的复用,增加了学习使用的成本;
二、有些结构简单,但功能又比较弱,对结构的分层不明确,既不利于代码的自动生成,又不利于分工协作,因此,开发效率低;
三、有些系统ORM使用不当,会造成执行效率的下降,因为ORM事实上是通过存储空间的牺牲来换取大量数据库访问性能的提升,如果空间使用不当也会造成性能的下降。
发明内容
本发明的目的在于提供一种基于ORM架构的高效数据库访问的实现方法及装置,能更好的解决面向对象的程序设计方法与关系数据库在开发过程中互不融合的技术问题。
根据本发明的一个方面,本发明提供的一种基于ORM架构的高效数据库访问的实现方法包括:
A)代码生成器模块根据数据库表,生成数据库表的数据实体代码;
B)ORM模块根据所述数据实体代码,建立实体数据与其对应数据库的映射关系;
C)数据访问模块利用所述映射关系,访问用户请求的数据库。
所述步骤A)包括:
代码生成器模块根据用户通过界面展现模块输入的请求,选择要自动生成代码的数据库表;
代码生成器模块选择要生成代码的类,循环遍历所述数据库表的每个字段,将数据库表的每个字段和类的规则进行分析处理,并逐行生成包括数据实体代码和数据规则代码的类代码;
代码生成器模块将所述数据实体代码和数据规则代码分别保存至数据实体模块和数据规则模块中。
所述分析包括对当前字段和类规则进行的词法分析、括号匹配算法分析、标志符点位分析、变量定义算法分析、类结构算法分析。
执行所述步骤A前还包括:
代码生成器模块监测数据库,并在监测到数据库表存在改动时,通过界面展现模块通知用户。
所述步骤B)中实体数据与其对应数据库的映射关系包括:
实体和数据库之间的映射关系、实体字段和数据库表字段之间的映射关系、某个实体作为另外一个实体的一个属性字段时与数据库表之间的映射关系、某个实体作为另外一个实体的一个集合属性时与数据库表之间的映射关系。
所述步骤B)还包括:
ORM模块分析实体数据,获取并缓存实体信息;
根据所述实体信息,得到用于生成SQL语句的组件;
分析数据库的SQL语法,并利用分析结果,通过所述组件将实体数据和映射关系拼接成需要的SQL语句,以供数据库操作。
所述步骤C)包括:
数据访问模块建立数据访问资源池,并从所述数据访问资源池中取出用于访问数据库的连接资源;
数据访问模块定义基类接口函数,并得到用于访问数据库的所述基类接口函数的派生类接口函数;
数据访问模块利用所述连接资源,通过所述派生类接口函数访问数据库,并对数据库进行操作。
所述派生类接口函数包括Oracle数据库访问类具体接口函数、MS SQL Server数据库访问类具体接口函数、DB2数据库访问类具体接口函数、Sybase数据库访问类具体接口函数、mysql数据库访问类具体接口函数。
执行所述步骤C)前还包括:
业务功能模块根据来自界面展现模块的用户请求,向业务流程模块提供多个基本业务功能;
业务流程模块将所述多个基本业务功能进行合成,形成一个完整的业务流,以便进行数据库访问。
根据本发明的另一个方面,本发明提供的一种基于ORM架构的高效数据库访问的实现装置包括:
代码生成器模块,用于根据数据库表,生成数据库表的数据实体代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110165590.X/2.html,转载请声明来源钻瓜专利网。