一种数据库操作方法及装置的制作方法

文档序号:6434110阅读:104来源:国知局
专利名称:一种数据库操作方法及装置的制作方法
技术领域
本发明涉及计算机数据库技术领域,尤其涉及一种数据库操作方法及装置。
背景技术
数据库(Database,DB)是按照数据结构来组织、存储和管理数据的仓库。随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式随着基于C/S (客户端/服务器架构)和B/S (浏览器/服务器架构)架构的应用程序开发方式被广泛应用,数据库操作在技术开发中已经占有了更多的开发周期,实际开发中对数据库操作已经直接影响到了系统的性能、安全性以及稳定性。如图1所示,通常应用程序开发中数据库的操作步骤是
101、直接引用ADO(ActiveX Data Objects,ActiveX数据对象)组件,ADO组件是被普遍应用的数据库操作组件,使用层次对象模型实现对数据库的访问;
102、连接数据库(打开数据库),调用ADO组件中用于数据库连接的Open方法可打开数据库连接;
103、通过查询数据库返回一个记录集(RecordSet);
104、操作记录集处理数据库数据;
105、关闭记录集、关闭数据库连接。ASP和.NET WEB应用开发中每个页面都按照以上步骤进行数据库操作,致使开发过程繁琐、重复度高,如果忘记或不及时关闭数据库连接会影响数据库服务器的性能,并且增加代码调试工作量。这种在程序开发过程中直接使用ADO组件操作数据库的方法具体存在以下诸多缺陷
1)需要程序员熟悉并过多了解复杂的ADO的架构、类结构、对象和方法,如果程序员不熟悉则无法进行数据库相关的程序开发;
2)开发数据库功能时多数是重复操作数据库的步骤,代码可重用性差,编写的代码重复度高;
3)使用ADO操作数据库时如需拼接SQL语句,语句复杂度高时代码很难维护或只能依赖编写视图或存储过程;
4)一个页面只能允许一个记录集(Recordset)保持打开状态;
5)程序员过多关注ADO的开发而分散了业务逻辑的思考;
6)开发过程中容易忽视记录集的关闭和连接的关闭,依赖系统回收资源将降低系统性
能;
7)冗长的连接字符串有规则但很难记忆拼接,连接字符串在一个项目中一般只使用一次,不常用导致记忆有难度,实际应用中注意到多数程序员在使用连接字符串时是在网络上搜索;
8)较难跟踪所有执行过的数据库操作语句,因为执行的数据库操作遍布在项目的代码段中;
9)较难管理数据库连接资源;
10)容错性能差,数据库操作抛出的异常一般由编码习惯、代码风格、算法、编码经验引起。

发明内容
本发明的主要目的在于提供一种数据库操作的实现方法和装置,在实现各种操作功能的基础上简化或屏蔽程序员直接操作数据库,让数据库操作变得更加透明化;
本发明的另一目的在于提供一种数据库操作的实现方法和装置,统一数据库操作通道, 提高程序的可重用性、安全性和稳定性。本发明的目的是通过以下技术方案实现的 一种数据库操作方法,包括以下步骤
对数据库进行实体化处理,转换成实体对象;
封装各种实体对象操作方法,生成核心库BaseDB类;
通过调用所述BaseDB类操作所述实体对象来执行相应的数据库操作。其中,所述对数据库进行实体化处理的过程进一步包括 对数据库的结构进行分析;
根据分析结果将数据库转换成实体对象; 生成可用于编程的开发语言对象定义文档。其中,在所述对数据库的结构进行分析时,所分析的数据库的结构包括数据库包含的数据库表和视图、存储过程、每个表包含的字段以及每个字段的数据类型。其中,在所述根据分析结果将数据库转换成实体对象的转换过程中,数据库与实体对象的转换对应关系为
数据库的库名对应实体对象的命名空间名称,数据库中的表名对应命名空间下的类名,数据库中的字段名对应实体对象中的属性,数据库中的存储过程对应实体对象中的方法。其中,所述BaseDB类的数据采集方式为对象数组方式,所述对象数组中的元素包括任意类型的对象。其中,所述BaseDB类中定义的基本方法包括数据库连接方法、断开数据库连接方法、执行存储过程方法、插入记录方法、修改记录方法、删除记录方法、获取记录数据方法、将实体对象转换成对象数组的方法、将单条数据记录填充到实体对象的方法和/或执行SQL语句返回数据表的方法。一种数据库操作装置,包括
用于将数据库转换成实体对象的数据库实体化单元;
用于封装各种实体对象操作方法并生成核心库BaseDB类的数据库操作封装单元; 用于调用所述BaseDB类对所述实体对象进行操作的数据库操作执行单元。其中,所述数据库实体化单元进一步包括 用于对数据库的结构进行分析的结构分析模块; 用于根据分析结果将数据库转换成实体对象的转换模块;用于生成可用于编程的开发语言对象定义文档的文档生成模块。与现有技术相比,本发明实施例具有以下有益效果
本发明将数据库实体化并封装实体对象操作方法,通过封装核心库来操作实体对象 (即数据库),减轻了程序员的工作强度和压力,让数据库操作变得更加透明化,程序员的主要精力不必放在关注数据库结构的问题上,把主要工作放在数据实体对象的处理和业务逻辑上即可;统一了数据库操作通道,提高了程序的可重用性、安全性、稳定性;数据库环境变化后不必整个软件项目搜索数据库连接参数修改,只需要修改一个代码段就可以对所有数据库操作(添、删、改、查)进行修改,便于代码维护和数据库功能扩展。


图1是现有技术中通用的数据库操作方法流程图; 图2是本发明实施例提供的数据库操作方法流程图3是本发明实施例中数据库实体化转换时的转换对应关系示意图。
具体实施例方式如图2所示,本发明数据库操作装置实现数据库操作方法的核心思想,包括
201、应用数据库实体化单元,对数据库进行实体化处理,转换成实体对象;
202、应用数据库操作封装单元,封装各种实体对象操作方法,生成核心库BaseDB类;
203、应用数据库操作执行单元,通过调用BaseDB类操作实体对象来执行相应的数据库操作。为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例提供的数据库操作方法,主要由以下几部分组成 (一)数据库结构实体化
现在市场上主流的是关系型数据库,数据结构的实体化目的是将数据库结构转换成面向对象(命名空间和类)的定义,如图3所示。数据库实体化举例
r ~£ sm a^-i Mb- W^m
^ am^^km·. Sbb^M- W W W
,-.·-.-"" :· ,I ;··::·· , “ , _ 、 ·'- .·· ,f·; ‘ I·、 、 - t^j _. ^ .. . . , ! , . 二 . ------
t-.' Ζ—Α. ‘J9f -Ζ-α L· Α. it- Z-t ^ ^-t- it- -£- i-4 *- i * 2、
-t "aT- ^ “ -fa^rr-- -% - S, f-^m Λ. Λ"-
_ “—!-%._ ιΓ%__i ---,. υ k· — .,.· A. TZ — f
_ . . -.- . - - — t - -数据库实体化结果
将图2与上述程序对照可见,dbtest数据库生成了 dbtest命名空间,表tabTest生成后是类tabTest,字段tname生成后是属性tabTest. tname。ToXMLStringO和ToJSONStringO方法可以将当前对象序列化为XML和JSON格式的数据,方便数据引用。实体化工作可以由程序自动分析数据库结构后生成,这样如果系统中数据库结构较复杂或表、字段较多时可以减少实体化生成的工作量。(二)数 据库实体化方法
本实施例中实体化方法的主要功能是分析数据库结构后自动生成需要的实体定义格式。“实体化对象”概念的定义通常在进行数据库功能开发过程中,数据库结构在ADO组件的支持下对用户是透明的,代码开发过程中数据库只是一个概念、一个逻辑数据存储的区域,实体化对象就是将数据库存储结构转换成可以直接操作的实体对象,而通过中间件 BaseDB库(即本实施例中封装的数据库操作核心库,后文将具体描述)操作实体对象就可以操作对应的数据库内容。数据库实体化成对象的过程与实现方法具体为 ①分析数据库的结构
实体化工具首先要连接到数据库,通过指定数据库来分析该数据库的结构,包括数据库包含的数据库表和视图、存储过程、每个表包含的字段以及每个字段的数据类型。②数据库数据结构、数据类型到对象结构的转换
数据库数据库名对应转换后的命名空间名称,在多个数据库操作时,可以命名空间定义加以区别;
表(Table):数据库中的表名转换后对应命名空间下的类名,即一个命名空间下有多个类,一个数据库下有多个表;
字段字段是一个数据库关系型表的列,数据记录为行,字段代表数据记录列的属性值,每个字段也有不同的数据类型,数据库字段的类型常用的有int、small int. tinyint、 numeric、money、float、datetime、varchar、text等等,尽管数据库字段类型繁多,但是实体化的过程中无非只需要将字段类型转换成两种对象类型字符型(char、string等)、数据型(int、long 或 float 等);
存储过程相当于类中定义的方法,存储过程具备的过程名对应方法的方法名(或函数名)、存储过程参数对应于方法的形参(形式参数);相应的存储过程定义生成相应的方法定义,在实现类方法时实质上是执行存储过程。③生成可用于编程的开发语言对象定义文档
生成实体定义的VB核心代码如下,实例中将数据库字段类型与开发语言支持的数据类型进行了转换,将数据库结构转换成了 C#类定义形式
权利要求
1.一种数据库操作方法,其特征在于,该方法包括以下步骤 对数据库进行实体化处理,转换成实体对象;封装各种实体对象操作方法,生成核心库BaseDB类;通过调用所述BaseDB类操作所述实体对象来执行相应的数据库操作。
2.如权利要求1所述的数据库操作方法,其特征在于,所述对数据库进行实体化处理的过程进一步包括对数据库的结构进行分析;根据分析结果将数据库转换成实体对象;生成可用于编程的开发语言对象定义文档。
3.如权利要求2所述的数据库操作方法,其特征在于,在所述对数据库的结构进行分析时,所分析的数据库的结构包括数据库包含的数据库表和视图、存储过程、每个表包含的字段以及每个字段的数据类型。
4.如权利要求2或3所述的数据库操作方法,其特征在于,在所述根据分析结果将数据库转换成实体对象的转换过程中,数据库与实体对象的转换对应关系为数据库的库名对应实体对象的命名空间名称,数据库中的表名对应命名空间下的类名,数据库中的字段名对应实体对象中的属性,数据库中的存储过程对应实体对象中的方法。
5.如权利要求1所述的数据库操作方法,其特征在于,所述BaseDB类的数据采集方式为对象数组方式,所述对象数组中的元素包括任意类型的对象。
6.如权利要求5所述的数据库操作方法,其特征在于,所述BaseDB类中定义的基本方法包括数据库连接方法、断开数据库连接方法、执行存储过程方法、插入记录方法、修改记录方法、删除记录方法、获取记录数据方法、将实体对象转换成对象数组的方法、将单条数据记录填充到实体对象的方法和/或执行SQL语句返回数据表的方法。
7.一种数据库操作装置,其特征在于,该装置包括 用于将数据库转换成实体对象的数据库实体化单元;用于封装各种实体对象操作方法并生成核心库BaseDB类的数据库操作封装单元; 用于调用所述BaseDB类对所述实体对象进行操作的数据库操作执行单元。
8.如权利要求7所述的数据库操作装置,其特征在于,所述数据库实体化单元进一步包括用于对数据库的结构进行分析的结构分析模块; 用于根据分析结果将数据库转换成实体对象的转换模块; 用于生成可用于编程的开发语言对象定义文档的文档生成模块。
全文摘要
本发明提供了一种数据库操作方法及装置,所述方法包括对数据库进行实体化处理,转换成实体对象;封装各种实体对象操作方法,生成核心库BaseDB类;通过调用所述BaseDB类操作所述实体对象来执行相应的数据库操作。本发明将数据库实体化并封装实体对象操作方法,通过封装核心库来操作实体对象,让数据库操作变得更加透明化,程序员的主要精力不必放在关注数据库结构的问题上而是放在数据实体对象的处理和业务逻辑上;统一了数据库操作通道,提高了程序的可重用性、安全性、稳定性;数据库环境变化后不必整个软件项目搜索数据库连接参数修改,只需要修改一个代码段就可以对所有数据库操作进行修改,便于代码维护和数据库功能扩展。
文档编号G06F17/30GK102346774SQ20111028781
公开日2012年2月8日 申请日期2011年9月26日 优先权日2011年9月26日
发明者陈小兵 申请人:深圳市信游天下网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1