关系型数据库访问方法和装置制造方法及图纸

技术编号:8862370 阅读:174 留言:0更新日期:2013-06-28 01:34
本发明专利技术公开一种关系型数据库访问方法和装置,实现了一种新型的静态映射机制,能够快速准确地实现数据库的访问,降低访问操作中的出错率和纠错时的成本消耗。本发明专利技术实施例提供的种关系型数据库访问方法包括:设置业务配置信息和数据表配置信息,以及,根据所选取的访问参数建立定位数组,该定位数组中数组元素的标号指示访问参数在应用业务实体类中的位置,从应用业务的实体类中获取关键字信息;根据关键字信息从业务配置信息中得到访问语句以及访问参数;根据访问参数从数据表配置信息中得到数组元素的标号,并利用标号从实体类中查找到访问参数的数值;将访问参数的数值设置在访问语句中,并在关系型数据库中执行访问语句。

【技术实现步骤摘要】

本专利技术涉及数据库
,特别涉及一种关系型数据库访问方法和装置
技术介绍
关系型数据库对于目前大部分的信息系统来说是不可或缺的组成部分之一。而利用基于Java的应用系统访问关系型数据库是目前较常用的解决方案,这种解决方案通常有如下两种方式:第一种方式是直接采用Java数据库连接(Java DataBase Connectivity, JDBC)对关系型数据库进行访问;第二种方式是采用具有对象关系映(Object-RelationalMapping,0RM)框架的开源项目(如开源项目iBatis、Hibernate等)对关系型数据库进行访问。上述现有的解决方案至少存在如下缺陷:在第一种方式下,需要开发人员手动将要执行的结构化查询语言(StructuredQuery Language, SQL)语句集成到程序代码中,出错率较高,检查排除错误时的成本消耗也较高;在第二种方式下,配置操作过于复杂,且由于采用了 Java语言的反射特性进行关系映射,在系统性能上造成了不必要的损失,例如,在关系映射中查找执行SQL语句所需的数值时,采用字符串形式的信息查找到该数值,需要逐位比较字符串中各比特位,导致资源消耗大,查找效率低。
技术实现思路
本专利技术提供的一种关系型数据库访问方法和装置,以解决现有访问关系型数据库的解决方案中出错率高、纠错成本高的问题以及给系统性能造成不必要损失的问题。为达到上述目的,本专利技术实施例采用了如下技术方案:本专利技术实施例提供了一种关系型数据库访问方法,所述方法包括:设置业务配置信息和数据表配置信息,以及,根据所选取的访问参数建立定位数组,所述定位数组中数组元素的标号指示访问参数在应用业务实体类中的位置,从应用业务根据访问请求生成的实体类中获取关键字信息;根据所述关键字信息从业务配置信息中得到所需执行的访问语句以及执行该访问语句所需的访问参数;根据所述访问参数从数据表配置信息中得到所述数组元素的标号,并利用所述标号从所述实体类中查找到访问参数的数值;将所述访问参数的数值设置在所述访问语句中,并在关系型数据库中执行所述访问语句,实现对关系型数据库的访问。本专利技术实施例还提供了一种关系型数据库访问装置,所述装置包括:设置单元,用于设置业务配置信息和数据表配置信息,以及,根据所选取的访问参数建立定位数组,所述定位数组中数组元素的标号指示访问参数在应用业务实体类中的位置;关键字获取单元,用于从应用业务根据访问请求生成的实体类中获取关键字信息;访问信息查找单元,用于根据所述关键字信息从业务配置信息中得到所需执行的访问语句以及执行该访问语句所需的访问参数;以及,根据所述访问参数从数据表配置信息中得到所述数组元素的标号,并利用所述标号从所述实体类中查找到访问参数的数值;访问执行单元,用于将所述访问参数的数值设置在所述访问语句中,并在关系型数据库中执行所述访问语句,实现对关系型数据库的访问。本专利技术实施例的有益效果是:本专利技术实施例的技术方案通过设置配置信息,利用配置信息得到访问语句,显著降低了访问操作中的出错率和纠错时的成本消耗;并且本方案通过访问参数的选取以及建立访问参数与定位数组的关联,利用数组元素的标号即可查询到访问参数的数值,实现了一种新型的静态映射机制,不再依赖于Java语言的反射特性,避免了采用字符串查找所带来的资源消耗,能够快速准确地实现数据库的访问。附图说明图1为本专利技术实施例一提供的一种关系型数据库访问方法流程图;图2为本专利技术实施例二提供的一种关系型数据库访问装置结构图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。参见图1,为本专利技术实施例一提供的一种关系型数据库访问方法,该方法包括:11:设置业务配置信息和数据表配置信息,以及,根据所选取的访问参数建立定位数组,所述定位数组中数组元素的标号指示访问参数在应用业务实体类中的位置。本专利技术实施例中根据数据表中的数据列设置上述访问参数,为数据表的数据列设置列名称,则所选取的访问参数为数据列的列名称。采用这种方式是考虑到数据表中的每一数据列存储的都是具有同一属性的数据,如时间数据、名称数据,而每一数据行中存储的则是每一条具体的数据内容,利用数据列的信息作为访问参数,有助于提高查找效率,简化查询操作。进一步的,本实施例中采用数组的形式定位访问参数在应用业务实体类中的位置,所建立的定位数组中数组元素的数目与数据表中所需访问的数据列的数目相同,所述定位数组中一个数组元素的标号指示一个数据列在应用业务实体类中的位置,这种方式下,在实体类中查找访问参数的数值时,将数组元素的标号(即一个整数值)作为查找的索弓丨,避免了采用字符串查找所造成的资源消耗大及查找效率低的问题,优化了系统的性能。本方案为关系型数据库中每个数据表建立一条数据表配置信息,该数据表配置信息包括表中的数据列的列名称,该数据列的标识(id)以及该数据列的数据类型。本实施例中该数据列的id采用数据列对应的数组元素的标号。例如,一条数据表配置信息的示例如下:Fields = id#0#BIGINT, toid#l#BIGINT, state#2#TINYINT (I)不同数据列的信息之间采用逗号分隔,同一数据列的各项信息之间采用“#,,号分隔。上述数据表配置信息指示了数据表具有三列,数据列的名称分别为id、toid和state,数据列id对应的数组元素的标号为0,数据列id所使用的数据类型为BIGINT ;数据列toid对应的数组元素的标号为1,数据列toid所使用的数据类型为所使用的数据类型为;数据列state对应的数组 元素的标号为1,数据列state所使用的数据类型为TINYINT。本方案为每种类型的访问操作(如更新、插入、查找、删除等)设置一条业务配置信息,所述业务配置信息中包含关键字信息、访问语句和该访问语句所需的访问参数。对于关系型数据库,该访问语句为SQL语句。一条业务配置信息的示例可以如下:SQL_updateByUserId = update cin_offlinemessage set state = I where toid= and state = 0#toid(2)当所需执行的访问语句为SQL语句时,为该业务配置信息设置“SQL_”的前缀,上述业务配置信息中的关键字信息为“updateByUserld”,该条业务配置信息对应的访问类型为对数据表中数据列toid的更新操作。该条业务配置信息中所包含的访问语句为“update cin_offlinemessage setstate = I where toid = and state = 0”,所需的访问参数为 “toid”。进一步的,上述业务配置信息中还包括参数标识,上面示例中所设置的参数标识为“#,,且访问参数设置在“#,,之后,则利用该参数标识可以快速查找到访问参数。对不同类型的访问操作所设置的业务配置信息不同,例如,同时对数据表中数据列toid和id的更新操作所对应的业务配置信息示例如下:SQL_updateToidAndIdByUserId = update cin_offlinemessage set id = ,toid = where st本文档来自技高网...

【技术保护点】
一种关系型数据库访问方法,其特征在于,设置业务配置信息和数据表配置信息,以及,根据所选取的访问参数建立定位数组,所述定位数组中数组元素的标号指示访问参数在应用业务实体类中的位置,所述方法包括:从应用业务根据访问请求生成的实体类中获取关键字信息;根据所述关键字信息从业务配置信息中得到所需执行的访问语句以及执行该访问语句所需的访问参数;根据所述访问参数从数据表配置信息中得到所述数组元素的标号,并利用所述标号从所述实体类中查找到访问参数的数值;将所述访问参数的数值设置在所述访问语句中,并在关系型数据库中执行所述访问语句,实现对关系型数据库的访问。

【技术特征摘要】
1.一种关系型数据库访问方法,其特征在于,设置业务配置信息和数据表配置信息,以及,根据所选取的访问参数建立定位数组,所述定位数组中数组元素的标号指示访问参数在应用业务实体类中的位置,所述方法包括: 从应用业务根据访问请求生成的实体类中获取关键字信息; 根据所述关键字信息从业务配置信息中得到所需执行的访问语句以及执行该访问语句所需的访问参数; 根据所述访问参数从数据表配置信息中得到所述数组元素的标号,并利用所述标号从所述实体类中查找到访问参数的数值; 将所述访问参数的数值设置在所述访问语句中,并在关系型数据库中执行所述访问语句,实现对关系型数据库的访问。2.根据权利要求1所述的方法,其特征在于,为数据列设置列名称,所述数据表配置信息包含数据列的列名称、数据列对应的数组元素的标号和数据列所采用的数据类型; 所选取的访问参数为数据列的列名称。3.根据权利要求2所述的方法,其特征在于, 所建立的定位数组中数组元素的数目与数据表中所需访问的数据列的数目相同,所述定位数组中一个数组元素的标号指示一个数据列在应用业务实体类中的位置。4.根据权利要求2所述的方法,其特征在于,所述将访问参数的数值设置在所述访问语句中包括: 按照数据表配置信息中所指示的数据类型,将所述访问参数的数值设置在所述访问语句中。5.根据权利要求1所述的方法,其特征在于,为每种类型的访问操作设置一条业务配置信息,所述业务配置信息中包含关键字信息、访问语句和该访问语句所需的访问参数, 所述根据所述关键字信息从业务配置信息中得到所需执行的访问语句以及执行该访问语句所需的访问参数包括: 根据所述关键字信息从业务配置信息中查找到当前所使用的业务配置信息; 在所查找到的业务配置信息中得到所需执行的访问语句以及执行该访问语句所需的访问参数。6.根据权利要求5所述的方法,其特征在于,所述业务配置信息中...

【专利技术属性】
技术研发人员:于剑池徐广鑫
申请(专利权)人:北京新媒传信科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1