CN110019306A - 一种基于xml格式文件的sql语句查找方法及系统 - Google Patents

一种基于xml格式文件的sql语句查找方法及系统 Download PDF

Info

Publication number
CN110019306A
CN110019306A CN201711449102.1A CN201711449102A CN110019306A CN 110019306 A CN110019306 A CN 110019306A CN 201711449102 A CN201711449102 A CN 201711449102A CN 110019306 A CN110019306 A CN 110019306A
Authority
CN
China
Prior art keywords
sql
sql statement
xml file
checked
statement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711449102.1A
Other languages
English (en)
Other versions
CN110019306B (zh
Inventor
曹召换
秦占明
王奎杰
施丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aisino Corp
Original Assignee
Aisino Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aisino Corp filed Critical Aisino Corp
Priority to CN201711449102.1A priority Critical patent/CN110019306B/zh
Publication of CN110019306A publication Critical patent/CN110019306A/zh
Application granted granted Critical
Publication of CN110019306B publication Critical patent/CN110019306B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于XML格式文件的SQL语句查找方法,包括:将多个SQL语句按照在不同数据库类型中的语法表述是否一致分为标准SQL语句和非标准SQL语句;分别将所述标准SQL语句和非标准SQL语句中的每个SQL语句按照所属的业务模块进行分组;按照预设XML文件格式创建分组后的标准SQL语句分别对应的XML文件以及分组后的非标准SQL语句在不同数据库类型中对应的XML文件;创建XML文件夹,将所述分组后的标准SQL语句分别对应的XML文件作为子文件存放到所述XML文件夹中,并将所述分组后的非标准SQL语句在不同数据库类型中对应的XML文件按照数据库类型存放到对应的XML文件的子文件夹中;根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果。

Description

一种基于XML格式文件的SQL语句查找方法及系统
技术领域
本发明涉及计算机程序技术领域,并且更具体地,涉及一种基于XML格式文件的SQL语句查找方法及系统。
背景技术
在信息化的这个大环境下,我们的生活和企业的生产,都离不开信息系统。而我们开发的软件,也需要支持不同类型的用户,软件的客户会出于对购买软件的投入进行对软件的配置项进行选择。和软件相关性比较大的是数据库类型的选择,选择客户已经购买过的数据库类型或者一家客户认可的数据库类型。针对这种数据库类型的可选择性,我们在软件开发的时候就要考虑多数据库类型的支持。大部分软件在开发的时候,会选择两三个数据库类型的支持,在写SQL语句的时候,会在代码中进行区别处理,这样如果需要扩展其他数据库类型,会遇到修改内容多,修改程序源码等问题。并且可能会导致其他数据库类型的支持也出现问题。
发明内容
本发明提供了一种基于XML格式文件的SQL语句查找方法及系统,以解决现有的SQL语句不兼容多种数据库类型、修改源程序代码复杂以及维护时SQL语句查询复杂的问题。
为了解决上述问题,根据本发明的一个方面,提供了一种基于XML格式文件的SQL语句查找方法,所述方法包括:
将多个SQL语句按照在不同数据库类型中的语法表述是否一致分为标准SQL语句和非标准SQL语句;
分别将所述标准SQL语句和非标准SQL语句中的每个SQL语句按照所属的业务模块进行分组;
按照预设XML文件格式创建分组后的标准SQL语句分别对应的XML文件,其中所述预设XML文件格式中每个SQL语句对应一个唯一的标识;
根据所述非标准SQL语句在不同数据库类型中的语法表述,按照预设XML文件格式分别创建分组后的非标准SQL语句在不同数据库类型中对应的XML文件;
创建XML文件夹,将所述分组后的标准SQL语句分别对应的XML文件作为子文件存放到所述XML文件夹中,并将所述分组后的非标准SQL语句在不同数据库类型中对应的XML文件按照数据库类型存放到对应的XML文件的子文件夹中;
对所述XML文件夹中的每个SQL语句进行解析,获取每个SQL语句对应的标识数据信息,根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果。
优选地,其中所述预设XML文件格式包括:sqls根标签、sql标签和i标签,所述sqls根标签用于方便解析使用;所述sql标签,定义一个group属性,所述group属性的值用于描述当前标签下所有的SQL语句所属的业务模块;所述i标签,用于为当前标签下的每个SQL语句创建一个唯一的标识id。
优选地,其中所述对所述XML文件夹中的每个SQL语句进行解析,获取每个SQL语句对应的标识数据信息,包括:
解析所述XML文件中的所有的SQL语句,通过解析sql标签的group属性的值和i标签的标识id,获取每个SQL语句对应的标识数据信息;
按照所述XML文件的目录结构将每个标准SQL语句对应的标识数据信息分组进行存储;
按照所述XML文件的目录结构将每个非标准SQL语句对应的标识数据信息按照不同的数据库类型进行存储。
优选地,其中所述根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果,包括:
根据待查询的SQL语句的标识数据信息,在与所述待查询的SQL语句匹配的数据库类型的XML文件中遍历查找所述待查询的SQL语句;
若当前匹配的数据库类型的XML文件中存在所述待查询的SQL语句,则返回查询结果;
若当前匹配的数据库类型的XML文件中不存在所述待查询的SQL语句,则在标准SQL语句对应的XML文件中遍历查找所述待查询的SQL语句;
若标准SQL语句对应的XML文件中存在所述待查询的SQL,则返回查询结果;
若标准SQL语句对应的XML文件中不存在所述待查询的SQL,则返回异常消息提示。
优选地,其中所述标识数据信息的格式为:group.id。
优选地,其中设置每个SQL语句对应的XML文件名称为group属性的值。
根据本发明的另一个方面,提供了一种基于XML格式文件的SQL语句查找系统,其特征在于,所述系统包括:
SQL语句分类模块,用于将多个SQL语句按照在不同数据库类型中的语法表述是否一致分为标准SQL语句和非标准SQL语句;
分组模块,用于分别将所述标准SQL语句和非标准SQL语句中的每个SQL语句按照所属的业务模块进行分组;
第一XML文件创建模块,用于按照预设XML文件格式创建分组后的标准SQL语句分别对应的XML文件,其中所述预设XML文件格式中每个SQL语句对应一个唯一的标识;
第二XML文件创建模块,用于根据所述非标准SQL语句在不同数据库类型中的语法表述,按照预设XML文件格式分别创建分组后的非标准SQL语句在不同数据库类型中对应的XML文件;
存储模块,用于创建XML文件夹,将所述分组后的标准SQL语句分别对应的XML文件作为子文件存放到所述XML文件夹中,并将所述分组后的非标准SQL语句在不同数据库类型中对应的XML文件按照数据库类型存放到对应的XML文件的子文件夹中;
查询模块,用于对所述XML文件夹中的每个SQL语句进行解析,获取每个SQL语句对应的标识数据信息,根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果。
优选地,其中所述预设XML文件格式包括:sqls根标签、sql标签和i标签,所述sqls根标签用于方便解析使用;所述sql标签,定义一个group属性,所述group属性的值用于描述当前标签下所有的SQL语句所属的业务模块;所述i标签,用于为当前标签下的每个SQL语句创建一个唯一的标识id。
优选地,其中所述查询模块,对所述XML文件夹中的每个SQL语句进行解析,获取每个SQL语句对应的标识数据信息,具体用于:
解析所述XML文件中的所有的SQL语句,通过解析sql标签的group属性的值和i标签的标识id,获取每个SQL语句对应的标识数据信息;
按照所述XML文件的目录结构将每个标准SQL语句对应的标识数据信息分组进行存储;
按照所述XML文件的目录结构将每个非标准SQL语句对应的标识数据信息按照不同的数据库类型进行存储。
优选地,其中所述查询模块,根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果,具体用于:
根据待查询的SQL语句的标识数据信息,在与所述待查询的SQL语句匹配的数据库类型的XML文件中遍历查找所述待查询的SQL语句;
若当前匹配的数据库类型的XML文件中存在所述待查询的SQL语句,则返回查询结果;
若当前匹配的数据库类型的XML文件中不存在所述待查询的SQL语句,则在标准SQL语句对应的XML文件中遍历查找所述待查询的SQL语句;
若标准SQL语句对应的XML文件中存在所述待查询的SQL,则返回查询结果;
若标准SQL语句对应的XML文件中不存在所述待查询的SQL,则返回异常消息提示。
优选地,其中所述标识数据信息的格式为:group.id。
优选地,其中设置每个SQL语句对应的XML文件名称为group属性的值。
本发明提供了一种基于XML格式文件的SQL语句查找方法及系统,重新定义XML文件的格式来保存SQL语句,通过group和id的唯一标识去定义SQL语句,并按将标准的SQL语句或各种数据库类型对应的非SQL语句分类进行存储,程序执行的时候,按照数据库类型,去对应数据库类型的缓存中查找SQL语句,如果不存在,则去通用的缓存中查找SQL语句;如果再扩展另外一种数据库类型,可以不修改任何程序代码,只需要增加对应的XML文件格式的SQL语句的描述,大大降低了扩展数据库类型支持的开发成本,并且便于程序维护SQL语句,可以降低软件的维护成本。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明实施方式的基于XML格式文件的SQL语句查找方法100的流程图;
图2为根据本发明实施方式的程序中保存的SQL语句的XML文件的目录结构图;以及
图3为根据本发明实施方式的基于XML格式文件的SQL语句查找系统300的结构示意图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
图1为根据本发明实施方式的基于XML格式文件的SQL语句查找方法100的流程图。如图1所示,本发明实施方式提供的基于XML格式文件的SQL语句查找方法,通过重新定义XML文件的格式来保存SQL语句,通过group和id的唯一标识去定义SQL语句,并按将标准的SQL语句或各种数据库类型对应的非SQL语句分类进行存储,程序执行的时候,按照数据库类型,去对应数据库类型的缓存中查找SQL语句。通过使用本发明创建SQL语句的存储,可以方便对复杂SQL语句的维护,增加程序的可维护性;可以让程序很容易的适配新的数据库类型,无序修改程序源码,增加对应数据库类型的文件夹和非标准SQL语句的XML文件,提升软件开发的效率,大大增加软件的扩展性。本发明实施方式的基于XML格式文件的SQL语句查找方法100从步骤101处开始,在步骤101将多个SQL语句按照在不同数据库类型中的语法表述是否一致分为标准SQL语句和非标准SQL语句。在本发明的实施方式中,将多个SQL语句进行区分对待,将SQL语句分为标准SQL语句和非标准SQL语句。其中,标准SQL语句是对多种数据库类型通用的SQL语句,非标准SQL语句则是只能在对于多种数据库类型不能通用,只能在对应的数据库中的语法或者函数中识别的SQL语句。
优选地,在步骤102分别将所述标准SQL语句和非标准SQL语句中的每个SQL语句按照所属的业务模块进行分组。
优选地,在步骤103按照预设XML文件格式创建分组后的标准SQL语句分别对应的XML文件,其中所述预设XML文件格式中每个SQL语句对应一个唯一的标识。
优选地,其中所述预设XML文件格式包括:sqls根标签、sql标签和i标签,所述sqls根标签用于方便解析使用;所述sql标签,定义一个group属性,所述group属性的值用于描述当前标签下所有的SQL语句所属的业务模块;所述i标签,用于为当前标签下的每个SQL语句创建一个唯一的标识id。优选地,其中设置每个SQL语句对应的XML文件名称为group属性的值。
在程序开发过程中,会用到很多SQL语句,为了能够使开发过程中快速的查找和修改SQL语句。本发明将SQL语句进行了分类处理,针对同一功能或模块的SQL语句,保存到同一组内,并且将这一组的SQL语句保存到相同的XML文件中。
在本发明的实施方式中,在每个XML文件中定义了三个主要标签:sqls、sql和i。其中sqls是根标签,方便解析使用;sql标签定义一个group属性,该属性是描述该标签下的所有SQL语句属于哪个分组或者业务模块等;i标签定义一个id,用来区分该分组或者业务模块的唯一标识的SQL语句。在一个group属性中i标签可以存在多个,每一个id对应一条SQL语句。为了方便开发编写和维护,一般将group的属性值作为该XML文件的文件名。
经过定义之后,i标签内的SQL语句就可以通过sql标签的group属性和i标签的id属性最终进行确定。在程序代码中我们就可以直接通过唯一的标识(group.id)的方式获取这个SQL语句。
每个XML文件的格式如下:
优选地,在步骤104根据所述非标准SQL语句在不同数据库类型中的语法表述,按照预设XML文件格式分别创建分组后的非标准SQL语句在不同数据库类型中对应的XML文件。
以MySql、SQL server和Oracle数据为例。将名称和编码用下划线拼接的SQL语句,因为各个数据库的SQL语法不一致,导致某种SQL语句不通用,对于不同的数据库必须编写对应的SQL语句,则这种SQL语句就是非标准SQL语句。在创建的时候需要根据所述3中数据库编写不同的SQL语句,并将每种数据库对应的SQL语句保存到对应的文件夹下。
mssql目录下的内容格式为:
oracle目录下的内容格式为:
mysql目录下的内容格式为:
优选地,在步骤105创建XML文件夹,将所述分组后的标准SQL语句分别对应的XML文件作为子文件存放到所述XML文件夹中,并将所述分组后的非标准SQL语句在不同数据库类型中对应的XML文件按照数据库类型存放到对应的XML文件的子文件夹中。
图2为根据本发明实施方式的程序中保存的SQL语句的XML文件的目录结构图。如图2所示,在本发明的实施方式中,在对XML文件进行保存时,建立存储SQL语句对应的XML格式文件根文件加db,在db文件夹下将所有存储标准SQL语句的XML格式文件放到该目录内。针对非标准的SQL语句,在db目录下分别创建对应数据库类型的目录结构,如mysql目录代表MySql数据库类型的非标准SQL语句保存目录;mssql目录代表SQL server数据库类型的非标准SQL语句保存目录;oracle目录代表Oracle数据库类型对应的非标准SQL语句保存目录。
其中,标准SQL语句的XML文件格式和非标准SQL语句的XML文件格式需要一致。例如,要保存一条SQL语句,其对应的查找标识为“aos_orgn.getList”。如果该查询SQL语句为标准SQL语句,则将这条语句的XML文件存储到db的根目录中;如果该SQL语句是非标准SQL语句,则需要将这个SQL语句的各种数据库类型版本都写一份,分别放到对应的数据库类型文件夹下。但需要保证这些文件夹下对应的SQL语句的表示一致,也就是这个SQL语句对应的XML的group和id在每个文件夹下要一致。
这样,如果我们的软件要匹配新的数据库类型,只需要在db目录下创建新的数据库类型的文件夹,将新数据库类型中的一些非标准SQL语句进行定义并保持到该文件夹下即可。在程序查找SQL语句的时候,会按照新的数据库类型对应的文件夹查找。这样会大大降低我们的程序适配新数据库类型的研发成本,提高研发效率。
优选地,在步骤106对所述XML文件夹中的每个SQL语句进行解析,获取每个SQL语句对应的标识数据信息,根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果。
优选地,其中所述标识数据信息的格式为:group.id。
优选地,其中所述对所述XML文件夹中的每个SQL语句进行解析,获取每个SQL语句对应的标识数据信息,包括:
解析所述XML文件中的所有的SQL语句,通过解析sql标签的group属性的值和i标签的标识id,获取每个SQL语句对应的标识数据信息;
按照所述XML文件的目录结构将每个标准SQL语句对应的标识数据信息分组进行存储;
按照所述XML文件的目录结构将每个非标准SQL语句对应的标识数据信息按照不同的数据库类型进行存储。
优选地,其中所述根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果,包括:根据待查询的SQL语句的标识数据信息,在与所述待查询的SQL语句匹配的数据库类型的XML文件中遍历查找所述待查询的SQL语句;若当前匹配的数据库类型的XML文件中存在所述待查询的SQL语句,则返回查询结果;若当前匹配的数据库类型的XML文件中不存在所述待查询的SQL语句,则在标准SQL语句对应的XML文件中遍历查找所述待查询的SQL语句;若标准SQL语句对应的XML文件中存在所述待查询的SQL,则返回查询结果;若标准SQL语句对应的XML文件中不存在所述待查询的SQL,则返回异常消息提示。
当SQL语句被按照不同的分类,分别保存到相应目录之后。程序中对SQL语句的调用之前,需要做的操作就是按照对应的SQL语句标识去查找对应的SQL内容。在程序启动之后,需要将所有的SQL语句进行解析,存储到程序的缓存中,这样可以提升调用效率,不用每次从文件中查找。在解析的时候,需要对不同文件夹下的文件进行分别存储。首先,将所有db目录下,也就是标准SQL语句进行解析。通过解析sql标签的group和i标签的id,获取每个SQL语句的唯一标示,将内容保存在唯一标示下方便查找。然后将db目录下的其他目录,按照数据库类型进行解析和存储,解析方式和标准SQL语句的方式一致。通过解析之后,我们可以将所有的SQL语句进行分组保存,非标准SQL语句,按照数据库类型进行存储,标准SQL语句单独分组保存。
由于在SQL语句存储的时候,按照SQL语句的数据库类型特性,对保存位置进行了区分。则在程序调用的时候,可以只通过SQL语句的标识进行调用,如直接通过标识“aos_orgn.getList”进行SQL调用。调用之后,程序在查找SQL语句的时候,会先去当前匹配数据库类型的分组查找,即通过“aos_orgn.getList”标识去对应数据库类型的分组去查找。如果找到了对应的SQL语句则返回执行,如果对应数据库类型的分组内没有找到,则去通用的分组进行查找,即去标准SQL语句分组查找,如果找到则返回执行,如果找不到,说明所有的SQL语句配置中不存在这个标识的SQL语句,返回空,说明没有该SQL语句,程序异常。
本发明的查找方法不需要每个数据库类型都需要创建所有的SQL语句,而是仅仅把一些非标准的SQL语句进行重写就可以了。针对某些特殊的数据库类型创建该数据库的文件夹,保存该数据库的非标准SQL语句。如其他数据库类型可以使用统一的标准SQL语句,则其他数据库对应的文件夹内可以不写该SQL语句,而是将其写到通用的db目录下,这样就会减少SQL语句的冗余度,减少程序的维护量,提升开发效率。
图3为根据本发明实施方式的基于XML格式文件的SQL语句查找系统300的结构示意图。如图3所示,本发明实施方式提供的基于XML格式文件的SQL语句查找系统300包括:SQL语句分类模块301、分组模块302、第一XML文件创建模块303、第二XML文件创建模块304、存储模块305和查询模块306。优选地,在所述SQL语句分类模块301,将多个SQL语句按照在不同数据库类型中的语法表述是否一致分为标准SQL语句和非标准SQL语句。
优选地,在所述分组模块302,分别将所述标准SQL语句和非标准SQL语句中的每个SQL语句按照所属的业务模块进行分组。
优选地,在所述第一XML文件创建模块303,按照预设XML文件格式创建分组后的标准SQL语句分别对应的XML文件,其中所述预设XML文件格式中每个SQL语句对应一个唯一的标识。优选地,其中设置每个SQL语句对应的XML文件名称为group属性的值。
优选地,其中所述预设XML文件格式包括:sqls根标签、sql标签和i标签,所述sqls根标签用于方便解析使用;所述sql标签,定义一个group属性,所述group属性的值用于描述当前标签下所有的SQL语句所属的业务模块;所述i标签,用于为当前标签下的每个SQL语句创建一个唯一的标识id。
优选地,在所述第二XML文件创建模块304,根据所述非标准SQL语句在不同数据库类型中的语法表述,按照预设XML文件格式分别创建分组后的非标准SQL语句在不同数据库类型中对应的XML文件。
优选地,在所述存储模块305,创建XML文件夹,将所述分组后的标准SQL语句分别对应的XML文件作为子文件存放到所述XML文件夹中,并将所述分组后的非标准SQL语句在不同数据库类型中对应的XML文件按照数据库类型存放到对应的XML文件的子文件夹中。
优选地,在所述查询模块306,对所述XML文件夹中的每个SQL语句进行解析,获取每个SQL语句对应的标识数据信息,根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果。
优选地,其中所述标识数据信息的格式为:group.id。
优选地,其中所述查询模块,对所述XML文件夹中的每个SQL语句进行解析,获取每个SQL语句对应的标识数据信息,具体用于:
解析所述XML文件中的所有的SQL语句,通过解析sql标签的group属性的值和i标签的标识id,获取每个SQL语句对应的标识数据信息;
按照所述XML文件的目录结构将每个标准SQL语句对应的标识数据信息分组进行存储;
按照所述XML文件的目录结构将每个非标准SQL语句对应的标识数据信息按照不同的数据库类型进行存储。
优选地,其中所述查询模块,根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果,具体用于:
根据待查询的SQL语句的标识数据信息,在与所述待查询的SQL语句匹配的数据库类型的XML文件中遍历查找所述待查询的SQL语句;
若当前匹配的数据库类型的XML文件中存在所述待查询的SQL语句,则返回查询结果;
若当前匹配的数据库类型的XML文件中不存在所述待查询的SQL语句,则在标准SQL语句对应的XML文件中遍历查找所述待查询的SQL语句;
若标准SQL语句对应的XML文件中存在所述待查询的SQL,则返回查询结果;
若标准SQL语句对应的XML文件中不存在所述待查询的SQL,则返回异常消息提示。
本发明的实施例的基于XML格式文件的SQL语句查找系统300与本发明的另一个实施例的基于XML格式文件的SQL语句查找方法100相对应,在此不再赘述。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

Claims (12)

1.一种基于XML格式文件的SQL语句查找方法,其特征在于,所述方法包括:
将多个SQL语句按照在不同数据库类型中的语法表述是否一致分为标准SQL语句和非标准SQL语句;
分别将所述标准SQL语句和非标准SQL语句中的每个SQL语句按照所属的业务模块进行分组;
按照预设XML文件格式创建分组后的标准SQL语句分别对应的XML文件,其中所述预设XML文件格式中每个SQL语句对应一个唯一的标识;
根据所述非标准SQL语句在不同数据库类型中的语法表述,按照预设XML文件格式分别创建分组后的非标准SQL语句在不同数据库类型中对应的XML文件;
创建XML文件夹,将所述分组后的标准SQL语句分别对应的XML文件作为子文件存放到所述XML文件夹中,并将所述分组后的非标准SQL语句在不同数据库类型中对应的XML文件按照数据库类型存放到对应的XML文件的子文件夹中;
对所述XML文件夹中的每个SQL语句进行解析,获取每个SQL语句对应的标识数据信息,根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果。
2.根据权利要求1所述的方法,其特征在于,所述预设XML文件格式包括:sqls根标签、sql标签和i标签,所述sqls根标签用于方便解析使用;所述sql标签,定义一个group属性,所述group属性的值用于描述当前标签下所有的SQL语句所属的业务模块;所述i标签,用于为当前标签下的每个SQL语句创建一个唯一的标识id。
3.根据权利要求2所述的方法,其特征在于,所述对所述XML文件夹中的每个SQL语句进行解析,获取每个SQL语句对应的标识数据信息,包括:
解析所述XML文件中的所有的SQL语句,通过解析sql标签的group属性的值和i标签的标识id,获取每个SQL语句对应的标识数据信息;
按照所述XML文件的目录结构将每个标准SQL语句对应的标识数据信息分组进行存储;
按照所述XML文件的目录结构将每个非标准SQL语句对应的标识数据信息按照不同的数据库类型进行存储。
4.根据权利要求3中所述的方法,其特征在于,所述根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果,包括:
根据待查询的SQL语句的标识数据信息,在与所述待查询的SQL语句匹配的数据库类型的XML文件中遍历查找所述待查询的SQL语句;
若当前匹配的数据库类型的XML文件中存在所述待查询的SQL语句,则返回查询结果;
若当前匹配的数据库类型的XML文件中不存在所述待查询的SQL语句,则在标准SQL语句对应的XML文件中遍历查找所述待查询的SQL语句;
若标准SQL语句对应的XML文件中存在所述待查询的SQL,则返回查询结果;
若标准SQL语句对应的XML文件中不存在所述待查询的SQL,则返回异常消息提示。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述标识数据信息的格式为:group.id。
6.根据权利要求5所述的方法,其特征在于,设置每个SQL语句对应的XML文件名称为group属性的值。
7.一种基于XML格式文件的SQL语句查找系统,其特征在于,所述系统包括:
SQL语句分类模块,用于将多个SQL语句按照在不同数据库类型中的语法表述是否一致分为标准SQL语句和非标准SQL语句;
分组模块,用于分别将所述标准SQL语句和非标准SQL语句中的每个SQL语句按照所属的业务模块进行分组;
第一XML文件创建模块,用于按照预设XML文件格式创建分组后的标准SQL语句分别对应的XML文件,其中所述预设XML文件格式中每个SQL语句对应一个唯一的标识;
第二XML文件创建模块,用于根据所述非标准SQL语句在不同数据库类型中的语法表述,按照预设XML文件格式分别创建分组后的非标准SQL语句在不同数据库类型中对应的XML文件;
存储模块,用于创建XML文件夹,将所述分组后的标准SQL语句分别对应的XML文件作为子文件存放到所述XML文件夹中,并将所述分组后的非标准SQL语句在不同数据库类型中对应的XML文件按照数据库类型存放到对应的XML文件的子文件夹中;
查询模块,用于对所述XML文件夹中的每个SQL语句进行解析,获取每个SQL语句对应的标识数据信息,根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果。
8.根据权利要求7所述的系统,其特征在于,所述预设XML文件格式包括:sqls根标签、sql标签和i标签,所述sqls根标签用于方便解析使用;所述sql标签,定义一个group属性,所述group属性的值用于描述当前标签下所有的SQL语句所属的业务模块;所述i标签,用于为当前标签下的每个SQL语句创建一个唯一的标识id。
9.根据权利要求8所述的系统,其特征在于,所述查询模块,对所述XML文件夹中的每个SQL语句进行解析,获取每个SQL语句对应的标识数据信息,具体用于:
解析所述XML文件中的所有的SQL语句,通过解析sql标签的group属性的值和i标签的标识id,获取每个SQL语句对应的标识数据信息;
按照所述XML文件的目录结构将每个标准SQL语句对应的标识数据信息分组进行存储;
按照所述XML文件的目录结构将每个非标准SQL语句对应的标识数据信息按照不同的数据库类型进行存储。
10.根据权利要求9中所述的系统,其特征在于,所述查询模块,根据待查询的SQL语句的标识数据信息查找所述待查询的SQL语句,并返回查询结果,具体用于:
根据待查询的SQL语句的标识数据信息,在与所述待查询的SQL语句匹配的数据库类型的XML文件中遍历查找所述待查询的SQL语句;
若当前匹配的数据库类型的XML文件中存在所述待查询的SQL语句,则返回查询结果;
若当前匹配的数据库类型的XML文件中不存在所述待查询的SQL语句,则在标准SQL语句对应的XML文件中遍历查找所述待查询的SQL语句;
若标准SQL语句对应的XML文件中存在所述待查询的SQL,则返回查询结果;
若标准SQL语句对应的XML文件中不存在所述待查询的SQL,则返回异常消息提示。
11.根据权利要求8至10中任一项所述的系统,其特征在于,所述标识数据信息的格式为:group.id。
12.根据权利要求11所述的系统,其特征在于,设置每个SQL语句对应的XML文件名称为group属性的值。
CN201711449102.1A 2017-12-27 2017-12-27 一种基于xml格式文件的sql语句查找方法及系统 Active CN110019306B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711449102.1A CN110019306B (zh) 2017-12-27 2017-12-27 一种基于xml格式文件的sql语句查找方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711449102.1A CN110019306B (zh) 2017-12-27 2017-12-27 一种基于xml格式文件的sql语句查找方法及系统

Publications (2)

Publication Number Publication Date
CN110019306A true CN110019306A (zh) 2019-07-16
CN110019306B CN110019306B (zh) 2021-08-31

Family

ID=67187075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711449102.1A Active CN110019306B (zh) 2017-12-27 2017-12-27 一种基于xml格式文件的sql语句查找方法及系统

Country Status (1)

Country Link
CN (1) CN110019306B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078702A (zh) * 2019-12-17 2020-04-28 南京南瑞继保工程技术有限公司 一种sql语句分类管理及统一查询方法和装置
CN111858280A (zh) * 2020-07-16 2020-10-30 中国工商银行股份有限公司 一种sql信息处理方法、装置、设备及系统
CN113704575A (zh) * 2021-08-30 2021-11-26 上海一谈网络科技有限公司 解析XML与Java文件的SQL方法、装置、设备及存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070118540A1 (en) * 2005-11-23 2007-05-24 Oracle International Corporation integrating medical data and images in a database management system
US20080077552A1 (en) * 2006-09-27 2008-03-27 Ronald Sanborn Systems and methods for analyzing multiple states in one or more groups of data
CN101290570A (zh) * 2007-04-17 2008-10-22 高丹 不同语言环境下异构数据库数据的统合中间件
CN101477528A (zh) * 2008-12-08 2009-07-08 广东省农业科学院科技情报研究所 一种基于xml的行业信息分类映射方法
US20090271382A1 (en) * 2008-04-23 2009-10-29 Microsoft Corporation Expressive grouping for language integrated queries
US20100030727A1 (en) * 2008-07-29 2010-02-04 Sivasankaran Chandrasekar Technique For Using Occurrence Constraints To Optimize XML Index Access
CN102024039A (zh) * 2010-12-01 2011-04-20 北京神州泰岳软件股份有限公司 基于eoms系统的表单生成方法
CN102426582A (zh) * 2011-09-29 2012-04-25 用友软件股份有限公司 数据操作管理装置和数据操作管理方法
CN102968306A (zh) * 2012-11-29 2013-03-13 广东全通教育股份有限公司 一种基于数据模型驱动的代码自动生成方法和系统
CN103500396A (zh) * 2013-09-18 2014-01-08 北京思特奇信息技术股份有限公司 一种自动生成文件并发送邮件的方法及系统
CN103744891A (zh) * 2013-12-23 2014-04-23 大唐软件技术股份有限公司 一种数据查询方法和系统
CN104239073A (zh) * 2014-10-15 2014-12-24 中国科学院软件研究所 一种数据维护系统快速原型开发系统及方法
CN105389339A (zh) * 2015-10-20 2016-03-09 咸亨国际(杭州)物联网信息产业有限公司 一种快速生成数据库sql语句和实体类的工具

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070118540A1 (en) * 2005-11-23 2007-05-24 Oracle International Corporation integrating medical data and images in a database management system
US20080077552A1 (en) * 2006-09-27 2008-03-27 Ronald Sanborn Systems and methods for analyzing multiple states in one or more groups of data
CN101290570A (zh) * 2007-04-17 2008-10-22 高丹 不同语言环境下异构数据库数据的统合中间件
US20090271382A1 (en) * 2008-04-23 2009-10-29 Microsoft Corporation Expressive grouping for language integrated queries
US20100030727A1 (en) * 2008-07-29 2010-02-04 Sivasankaran Chandrasekar Technique For Using Occurrence Constraints To Optimize XML Index Access
CN101477528A (zh) * 2008-12-08 2009-07-08 广东省农业科学院科技情报研究所 一种基于xml的行业信息分类映射方法
CN102024039A (zh) * 2010-12-01 2011-04-20 北京神州泰岳软件股份有限公司 基于eoms系统的表单生成方法
CN102426582A (zh) * 2011-09-29 2012-04-25 用友软件股份有限公司 数据操作管理装置和数据操作管理方法
CN102968306A (zh) * 2012-11-29 2013-03-13 广东全通教育股份有限公司 一种基于数据模型驱动的代码自动生成方法和系统
CN103500396A (zh) * 2013-09-18 2014-01-08 北京思特奇信息技术股份有限公司 一种自动生成文件并发送邮件的方法及系统
CN103744891A (zh) * 2013-12-23 2014-04-23 大唐软件技术股份有限公司 一种数据查询方法和系统
CN104239073A (zh) * 2014-10-15 2014-12-24 中国科学院软件研究所 一种数据维护系统快速原型开发系统及方法
CN105389339A (zh) * 2015-10-20 2016-03-09 咸亨国际(杭州)物联网信息产业有限公司 一种快速生成数据库sql语句和实体类的工具

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078702A (zh) * 2019-12-17 2020-04-28 南京南瑞继保工程技术有限公司 一种sql语句分类管理及统一查询方法和装置
CN111078702B (zh) * 2019-12-17 2022-08-26 南京南瑞继保工程技术有限公司 一种sql语句分类管理及统一查询方法和装置
CN111858280A (zh) * 2020-07-16 2020-10-30 中国工商银行股份有限公司 一种sql信息处理方法、装置、设备及系统
CN111858280B (zh) * 2020-07-16 2024-02-27 中国工商银行股份有限公司 一种sql信息处理方法、装置、设备及系统
CN113704575A (zh) * 2021-08-30 2021-11-26 上海一谈网络科技有限公司 解析XML与Java文件的SQL方法、装置、设备及存储介质
CN113704575B (zh) * 2021-08-30 2023-07-14 上海一谈网络科技有限公司 解析XML与Java文件的SQL方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110019306B (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
US7043472B2 (en) File system with access and retrieval of XML documents
US7130867B2 (en) Information component based data storage and management
US8037075B2 (en) Pattern index
US6801904B2 (en) System for keyword based searching over relational databases
US6240418B1 (en) Database apparatus
CA2858680C (en) Systems and methods for improving database performance
US7886224B2 (en) System and method for transforming tabular form date into structured document
CN110263317B (zh) 一种生成文档模板的方法及装置
US8180806B2 (en) Mechanism for supporting indexed tagged content in a general purpose data store
US20060248039A1 (en) Sharing of full text index entries across application boundaries
US20090240714A1 (en) Semantic relational database
EP2041672A1 (en) Methods and apparatus for reusing data access and presentation elements
US20130191414A1 (en) Method and apparatus for performing a data search on multiple user devices
US9064004B2 (en) Extensible surface for consuming information extraction services
Kuć Apache Solr 4 Cookbook
CN102207948A (zh) 一种事件陈述句素材库的生成方法
US20090187581A1 (en) Consolidation and association of structured and unstructured data on a computer file system
JP2001034619A (ja) Xmlデータの格納/検索方法およびxmlデータ検索システム
CN110019306A (zh) 一种基于xml格式文件的sql语句查找方法及系统
CN109815240A (zh) 用于管理索引的方法、装置、设备和存储介质
US7213014B2 (en) Apparatus and method for using a predefined database operation as a data source for a different database operation
CN110134661A (zh) 一种面向刻面的学术大数据存储查询方法
US11144580B1 (en) Columnar storage and processing of unstructured data
US8738600B2 (en) String searches in a computer database
CN108897897B (zh) 一种数据处理方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant