CN108241626A - 查询脚本的生成方法及装置 - Google Patents

查询脚本的生成方法及装置 Download PDF

Info

Publication number
CN108241626A
CN108241626A CN201611205941.4A CN201611205941A CN108241626A CN 108241626 A CN108241626 A CN 108241626A CN 201611205941 A CN201611205941 A CN 201611205941A CN 108241626 A CN108241626 A CN 108241626A
Authority
CN
China
Prior art keywords
database platform
class
database
platform
metadata
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.)
Pending
Application number
CN201611205941.4A
Other languages
English (en)
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.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
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 Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201611205941.4A priority Critical patent/CN108241626A/zh
Publication of CN108241626A publication Critical patent/CN108241626A/zh
Pending legal-status Critical Current

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
    • G06F16/2448Query languages for particular applications; for extensibility, e.g. user defined types
    • 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/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

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

Abstract

本发明公开了一种查询脚本的生成类方法及装置,涉及计算机技术领域,主要目的在于解决当生成查询脚本时,出现使用不同数据库平台进行显示的情况,需要对数据库脚本逻辑代码进行修改,并且还需要修改调度代码的问题。本发明的主要技术方案为:确定元数据需要应用的数据库平台,所述数据库平台为多种预设数据库平台中的一种;从预先配置的多个实现类中获取所述数据库平台对应的实现类;获取元数据的配置信息;根据所述配置信息和所述数据库平台对应的实现类,生成所述数据库平台的查询脚本。主要用于查询脚本的生成。

Description

查询脚本的生成方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种查询脚本的生成方法及装置。
背景技术
在计算机软件系统中,可以通过构造数据库查询脚本进行数据查询,其中,常用的数据库查询脚本是结构化查询语言脚本(Structured Query Language Script,SqlScript),具体可以通过在脚本生成组件中输入查询参数CommonQuery生成SqlScript查询脚本。
目前,现有利用脚本生成组件生成的查询脚本,仅适用于Impala数据库,但是,当生成查询脚本时,出现使用其他数据库平台情况时,需要对数据库脚本逻辑代码进行修改,并且还需要修改调度代码,才能够重新编译查询脚本以便切换到新的数据库平台中,导致查询脚本的生成不够方便、简捷,使得查询脚本的生成效率较低。
发明内容
鉴于上述问题,提出了本发明以便提供一种查询脚本的生成方法及装置,主要目的是解决当生成查询脚本时,出现使用不同数据库平台进行显示的情况,需要对生成数据库脚本的逻辑代码进行修改,并且还需要修改调度代码的问题。
借由上述技术方案,本发明提供的一种查询脚本的生成方法,包括:
确定元数据需要应用的数据库平台,所述数据库平台为多种预设数据库平台中的一种;
从预先配置的多个实现类中获取所述数据库平台对应的实现类;
获取元数据的配置信息;
根据所述配置信息和所述数据库平台对应的实现类,生成所述数据库平台的查询脚本。
可选的,在从预先配置的多个实现类中获取所述数据库平台对应的实现类之前,所述方法还包括:
生成所述实现类,并将所述实现类存储到配置文件中。
可选的,所述生成所述实现类,包括:
抽象出生成所述数据库平台的查询脚本所需要的关键点;
定义所述关键点对应的接口信息和基类信息,所述接口信息中包含外部调用信息,所述基类信息中包含实现多种预设数据库平台所必需的通用信息;
根据所述接口信息,创建对应的工厂类;
根据所述基类信息和所述工厂类,生成对应的实现类。
可选的,所述元数据的配置信息中存储有数据库平台选项信息,所述确定元数据需要应用的数据库平台,包括:
获取所述元数据的配置信息中选定的数据库平台;
将所述选定的数据库平台确定为所述元数据需要应用的数据库平台。
可选的,所述配置文件中存储有数据库平台选项信息,所述确定元数据需要应用的数据库平台,包括:
获取所述配置文件中选定的数据库平台;
将所述选定的数据库平台确定为所述元数据需要应用的数据库平台。
借由上述技术方案,本发明提供的一种查询脚本的生成装置,包括:
确定单元,用于确定元数据需要应用的数据库平台,所述数据库平台为多种预设数据库平台中的一种;
第一获取单元,用于从预先配置的多个实现类中获取所述数据库平台对应的实现类;
第二获取单元,还用于获取元数据的配置信息;
第一生成单元,用于根据所述配置信息和所述数据库平台对应的实现类,生成所述数据库平台的查询脚本。
可选的,所述装置还包括:
第二生成单元,用于在从预先配置的多个实现类中获取所述数据库平台对应的实现类之前,生成所述实现类,并将所述实现类存储到配置文件中。
可选的,所述第二生成单元包括:
抽象模块,用于抽象出生成所述数据库平台的查询脚本所需要的关键点;
定义模块,用于定义所述关键点对应的接口信息和基类信息,所述接口信息中包含外部调用信息,所述基类信息中包含实现多种预设数据库平台所必需的通用信息;
创建模块,用于根据所述接口信息,创建对应的工厂类;
生成模块,用于根据所述基类信息和所述工厂类,生成对应的实现类。
可选的,所述元数据的配置信息中存储有数据库平台选项信息,所述确定单元包括:
第一获取模块,用于获取所述元数据的配置信息中选定的数据库平台;
第一确定模块,用于将所述选定的数据库平台确定为所述元数据需要应用的数据库平台。
可选的,所述配置文件中存储有数据库平台选项信息,所述确定单元包括:
第二获取模块,用于获取所述配置文件中选定的数据库平台;
第二确定模块,用于将所述选定的数据库平台确定为所述元数据需要应用的数据库平台。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明实施例提供的一种查询脚本的生成方法及装置,首先确定元数据需要应用的数据库平台,所述数据库平台为多种预设数据库平台中的一种,然后从预先配置的多个实现类中获取所述数据库平台对应的实现类,再获取元数据的配置信息,根据所述配置信息和所述数据库平台对应的实现类,最后生成所述数据库平台的查询脚本。与现有的当生成查询脚本时,出现使用其他数据库平台的情况时,需要对生成数据库脚本的逻辑代码进行修改,并且还需要修改调度代码相比,本发明实施例通过元数据的配置信息及元数据对应的数据库平台的实现类生成数据库平台的查询脚本,实现在生成查询脚本时,避免修改代码,只需对根据配置文件中的配置信息进行修改,就可以的不同类型数据库平台的查询脚本,从而提高查询脚本的生成效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了发明实施例提供的一种查询脚本的生成方法的流程图;
图2示出了发明实施例提供的另一种查询脚本的生成方法的流程图;
图3示出了发明实施例提供的一种查询脚本的生成装置的方框图;
图4示出了发明实施例提供的另一种查询脚本的生成装置的方框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供一种查询脚本的生成方法,如图1所示,所述方法包括:
101、确定元数据需要应用的数据库平台。
其中,所述元数据为描述数据的数据,主要是描述数据属性的信息,如存储位置、历史数据、资源查找、文件记录等,所述数据库平台为多种预设数据库平台中的一种,数据库平台为计算机软件的执行后台,即数据库中的数据在前端显示的平台。所有数据库的操作依靠前台实现,数据库的执行过程是看不到的。查询数据库有mssql,mysql,oracle等,平台有java,asp,php等,平台的搭建需要安装支持该开发语言的软件。
需要说明的是,所述预设数据库平台可以为技术人员通过不同的数据库匹配的平台进行设定,本发明实施例不做具体限定。
102、从预先配置的多个实现类中获取所述数据库平台对应的实现类。
其中,所述实现类为实现了接口中那些方法的方法体,所述实现类与数据库平台相对应,每一个实现类可以生成一个数据库平台。
需要说明的是,所有数据库平台对应的实现类均预先配置在一个应用程序配置文件中,以便通过配置文件中的实现类生成不同数据库平台的查询脚本。
103、获取元数据的配置信息。
其中,所述元数据的配置信息为预先配置的待生成查询脚本中的数据属性信息及待生成查询脚本的查询参数,如字段名称、数据内容等。所述元数据的配置信息中存储有数据库平台选项信息,所述配置文件中存储有数据库平台选项信息。
需要说明的是,所述元数据的配置信息存储在预先配置的应用程序配置文件中。另外,获取元数据的配置信息的步骤与确定元数据需要应用的数据库平台的步骤可以同时进行,不分先后顺序,本发明实施例不做具体限定。
104、根据所述配置信息和所述数据库平台对应的实现类,生成所述数据库平台的查询脚本。
例如,根据元数据的配置信息a,对应的数据平台的实现类为java的具体实例,生成java平台的查询脚本A。
本发明实施例提供的一种查询脚本的生成方法,与现有的当生成查询脚本时,出现使用其他数据库平台的情况时,需要对生成数据库脚本的逻辑代码进行修改,并且还需要修改调度代码相比,本发明实施例通过元数据的配置信息及元数据对应的数据库平台的实现类生成数据库平台的查询脚本,实现在生成查询脚本时,避免修改代码,只需对根据配置文件中的配置信息进行修改,就可以的不同类型数据库平台的查询脚本,从而提高查询脚本的生成效率。
本发明实施例提供另一种查询脚本的生成方法,如图2所示,所述方法包括:
201、确定元数据需要应用的数据库平台。
本步骤与图1所述步骤101所述的方法相同,这里不在赘述。
对于本发明实施例,所述元数据的配置信息中存储有数据库平台选项信息,步骤201具体可以为:获取所述元数据的配置信息中选定的数据库平台;将所述选定的数据库平台确定为所述元数据需要应用的数据库平台。例如,元数据的配置信息中的选定数据库平台为asp,则将asp确认为元数据需要应用的数据库平台。
对于本发明实施例,所述配置文件中存储有数据库平台选项信息,步骤201具体还可以为:获取所述配置文件中选定的数据库平台;将所述选定的数据库平台确定为所述元数据需要应用的数据库平台。例如,配置文件中预先选定的数据平台为asp,则将asp确认为元数据需要应用的数据库平台。
202、生成所述实现类,并将所述实现类存储到配置文件中。
其中,所述生成的实现类由不同的接口创建的工厂类进行生成的,所述配置文件为预先配置的应该程序配置文件,具体形式,本发明实施例不做具体限定。
对于本发明实施例,步骤202具体可以为:抽象出生成所述数据库平台的查询脚本所需要的关键点;定义所述关键点对应的接口信息和基类信息;根据所述接口信息,创建对应的工厂类;根据所述基类信息和所述工厂类,生成对应的实现类。
其中,所述抽象的关键点包括分析树构造点和查询脚本模板构造点,所述接口信息中包含外部调用信息,所述基类信息中包含实现多种预设数据库平台所必需的通用信息,所述通用信息可以实现不同数据库都需要使用的方法,即对通用代码进行实现,不通用的代码可以只定义方法,不进行具体实现,基类信息的方法中大部分通用的方法都声明为虚方法,只有极少数声明为私有方法,所述工厂类为生产数据平台实例的方法,所述工厂类为通过getInstance方法来创建,得到具体的实现类。通过抽象出查询脚本的关键点,以及定义关键点对应的接口和基类,创建工厂类,根据工厂类及基类生成具体的实现类,以便通过实现类生成对应的数据库平台的具体实例。
203、从预先配置的多个实现类中获取所述数据库平台对应的实现类。
本步骤与图1所述步骤102所述的方法相同,这里不在赘述。
204、获取元数据的配置信息。
本步骤与图1所述步骤103所述的方法相同,这里不在赘述。
205、根据所述配置信息和所述数据库平台对应的实现类,生成所述数据库平台的查询脚本。
本步骤与图1所述步骤104所述的方法相同,这里不在赘述。
对于本发明实施例,具体的应用场景可以如下所述,但不局限于此,包括:抽象出分析树构造点、查询脚本模板构造点,并分别定义接口1、接口2和基类1、基类2,通过接口1和接口2分别创建工厂类,根据基类1息和工厂类,生成对应的实现类为数据库平台1实现类、数据库平台2实现类、数据库平台3实现类,并存储在配置文件中,元数据的配置信息为aa,可以根据aa确定数据库平台2为元数据需要应用的数据库平台,从预先存储在配置文件中的实现类中获取数据库平台2对应的实现类,根据aa及数据库平台2实现类生成数据库平台2的查询脚本。
本发明实施例提供的另一种查询脚本的生成方法,通过确定元数据需要应用的数据库平台,生成所述实现类,再通过元数据的配置信息及元数据对应的数据库平台的实现类生成数据库平台的查询脚本,生成所述实现类,并将所述实现类存储到配置文件中,实现在在生成查询脚本时,直接生成符合元数据配置信息对应的数据库平台的查询脚本,避免修改代码,简化切换步骤,从而提高查询脚本的生成效率。
进一步地,作为图1所示方法的具体实现,本发明实施例提供一种查询脚本的生成装置,如图3所示,所述装置可以包括:确定单元31,第一获取单元32,第二获取单元33,第一生成单元34。
确定单元31,用于确定元数据需要应用的数据库平台,所述数据库平台为多种预设数据库平台中的一种;确定单元31为一种查询脚本的生成装置执行确定元数据需要应用的数据库平台的功能模块。
第一获取单元32,用于从预先配置的多个实现类中获取所述数据库平台对应的实现类;第一获取单元32为一种查询脚本的生成装置执行从预先配置的多个实现类中获取所述数据库平台对应的实现类的功能模块。
第二获取单元33,用于获取元数据的配置信息;第二获取单元33为一种查询脚本的生成装置执行获取元数据的配置信息的功能模块。
第一生成单元34,用于根据所述配置信息和所述数据库平台对应的实现类,生成所述数据库平台的查询脚本。第一生成单元34为一种查询脚本的生成装置执行根据所述配置信息和所述数据库平台对应的实现类,生成所述数据库平台的查询脚本的功能模块。
该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
本发明实施例提供的一种查询脚本的生成装置,与现有的当生成查询脚本时,出现使用其他数据库平台的情况时,需要对生成数据库脚本的逻辑代码进行修改,并且还需要修改调度代码相比,本发明实施例通过元数据的配置信息及元数据对应的数据库平台的实现类生成数据库平台的查询脚本,实现在生成查询脚本时,避免修改代码,只需对根据配置文件中的配置信息进行修改,就可以的不同类型数据库平台的查询脚本,从而提高查询脚本的生成效率。
进一步地,作为图2所示方法的具体实现,本发明实施例提供另一种查询脚本的生成装置,如图4所示,所述装置可以包括:确定单元41,第一获取单元42,第二获取单元43,第一生成单元44、第二生成单元45。
确定单元41,用于确定元数据需要应用的数据库平台,所述数据库平台为多种预设数据库平台中的一种;确定单元41为另一种查询脚本的生成装置执行确定元数据需要应用的数据库平台的功能模块。
第一获取单元42,用于从预先配置的多个实现类中获取所述数据库平台对应的实现类;第一获取单元42为另一种查询脚本的生成装置执行从预先配置的多个实现类中获取所述数据库平台对应的实现类的功能模块。
第二获取单元43,还用于获取元数据的配置信息;第二获取单元43为另一种查询脚本的生成装置执行获取元数据的配置信息的功能模块。
第一生成单元44,用于根据所述配置信息和所述数据库平台对应的实现类,生成所述数据库平台的查询脚本。第一生成单元44为另一种查询脚本的生成装置执行根据所述配置信息和所述数据库平台对应的实现类,生成所述数据库平台的查询脚本的功能模块。
进一步地,所述装置还包括:
第二生成单元45,还用于在从预先配置的多个实现类中获取所述数据库平台对应的实现类之前,生成所述实现类,并将所述实现类存储到配置文件中。第二生成单元45为另一种查询脚本的生成装置执行生成所述实现类,并将所述实现类存储到配置文件中的功能模块。
进一步地,所述第二生成单元45包括:
抽象模块4501,用于抽象出生成所述数据库平台的查询脚本所需要的关键点;抽象模块4501为另一种查询脚本的生成装置执行抽象出生成所述数据库平台的查询脚本所需要的关键点的功能模块。
定义模块4502,用于定义所述关键点对应的接口信息和基类信息,所述接口信息中包含外部调用信息,所述基类信息中包含实现多种预设数据库平台所必需的通用信息;定义模块4502为另一种查询脚本的生成装置执行定义所述关键点对应的接口信息和基类信息的功能模块。
创建模块4503,用于根据所述接口信息,创建对应的工厂类;创建模块4503为另一种查询脚本的生成装置执行根据所述接口信息,创建对应的工厂类的功能模块。
生成模块4504,用于根据所述基类信息和所述工厂类,生成对应的实现类。生成模块4504为另一种查询脚本的生成装置执行根据所述基类信息和所述工厂类,生成对应的实现类的功能模块。
进一步地,所述元数据的配置信息中存储有数据库平台选项信息,所述确定单元41包括:
第一获取模块4101,用于获取所述元数据的配置信息中选定的数据库平台;获取模块4101为另一种查询脚本的生成装置执行获取所述元数据的配置信息中选定的数据库平台的功能模块。
第一确定模块4102,用于将所述选定的数据库平台确定为所述元数据需要应用的数据库平台。确定模块4102为另一种查询脚本的生成装置执行将所述选定的数据库平台确定为所述元数据需要应用的数据库平台的功能模块。
进一步地,所述配置文件中存储有数据库平台选项信息,所述确定单元41包括:
第二获取模块4103,还用于获取所述配置文件中选定的数据库平台;获取模块4103为另一种查询脚本的生成装置执行获取所述配置文件中选定的数据库平台的功能模块。
第二确定模块4104,还用于将所述选定的数据库平台确定为所述元数据需要应用的数据库平台。确定模块4104为另一种查询脚本的生成装置执行将所述选定的数据库平台确定为所述元数据需要应用的数据库平台的功能模块。
该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
本发明实施例提供的另一种查询脚本的生成装置,通过确定元数据需要应用的数据库平台,生成所述实现类,再通过元数据的配置信息及元数据对应的数据库平台的实现类生成数据库平台的查询脚本,生成所述实现类,并将所述实现类存储到配置文件中,实现在在生成查询脚本时,直接生成符合元数据配置信息对应的数据库平台的查询脚本,避免修改代码,简化切换步骤,从而提高查询脚本的生成效率。
所述查询脚本的生成装置包括处理器和存储器,上述确定单元,第一获取单元,第二获取单元和第一生成单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决当生成查询脚本时,会出现使用不同数据库平台进行显示的情况,需要对数据库脚本逻辑代码进行修改,并且还需要修改调度代码的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:确定元数据需要应用的数据库平台,所述数据库平台为多种预设数据库平台中的一种;从预先配置的多个实现类中获取所述数据库平台对应的实现类;获取元数据的配置信息;根据所述配置信息和所述数据库平台对应的实现类,生成所述数据库平台的查询脚本。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种查询脚本的生成方法,其特征在于,包括:
确定元数据需要应用的数据库平台,所述数据库平台为多种预设数据库平台中的一种;
从预先配置的多个实现类中获取所述数据库平台对应的实现类;
获取元数据的配置信息;
根据所述配置信息和所述数据库平台对应的实现类,生成所述数据库平台的查询脚本。
2.根据权利要求1所述的方法,其特征在于,在从预先配置的多个实现类中获取所述数据库平台对应的实现类之前,所述方法还包括:
生成所述实现类,并将所述实现类存储到配置文件中。
3.根据权利要求2所述的方法,其特征在于,所述生成所述实现类,包括:
抽象出生成所述数据库平台的查询脚本所需要的关键点;
定义所述关键点对应的接口信息和基类信息,所述接口信息中包含外部调用信息,所述基类信息中包含实现多种预设数据库平台所必需的通用信息;
根据所述接口信息,创建对应的工厂类;
根据所述基类信息和所述工厂类,生成对应的实现类。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述元数据的配置信息中存储有数据库平台选项信息,所述确定元数据需要应用的数据库平台,包括:
获取所述元数据的配置信息中选定的数据库平台;
将所述选定的数据库平台确定为所述元数据需要应用的数据库平台。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述配置文件中存储有数据库平台选项信息,所述确定元数据需要应用的数据库平台,包括:
获取所述配置文件中选定的数据库平台;
将所述选定的数据库平台确定为所述元数据需要应用的数据库平台。
6.一种查询脚本的生成装置,其特征在于,包括:
确定单元,用于确定元数据需要应用的数据库平台,所述数据库平台为多种预设数据库平台中的一种;
第一获取单元,用于从预先配置的多个实现类中获取所述数据库平台对应的实现类;
第二获取单元,用于获取元数据的配置信息;
第一生成单元,用于根据所述配置信息和所述数据库平台对应的实现类,生成所述数据库平台的查询脚本。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二生成单元,用于在从预先配置的多个实现类中获取所述数据库平台对应的实现类之前,生成所述实现类,并将所述实现类存储到配置文件中。
8.根据权利要求7所述的装置,其特征在于,所述第二生成单元包括:
抽象模块,用于抽象出生成所述数据库平台的查询脚本所需要的关键点;
定义模块,用于定义所述关键点对应的接口信息和基类信息,所述接口信息中包含外部调用信息,所述基类信息中包含实现多种预设数据库平台所必需的通用信息;
创建模块,用于根据所述接口信息,创建对应的工厂类;
生成模块,用于根据所述基类信息和所述工厂类,生成对应的实现类。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述元数据的配置信息中存储有数据库平台选项信息,所述确定单元包括:
第一获取模块,用于获取所述元数据的配置信息中选定的数据库平台;
第一确定模块,用于将所述选定的数据库平台确定为所述元数据需要应用的数据库平台。
10.根据权利要求6至8任一项所述的装置,其特征在于,所述配置文件中存储有数据库平台选项信息,所述确定单元包括:
第二获取模块,用于获取所述配置文件中选定的数据库平台;
第二确定模块,用于将所述选定的数据库平台确定为所述元数据需要应用的数据库平台。
CN201611205941.4A 2016-12-23 2016-12-23 查询脚本的生成方法及装置 Pending CN108241626A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611205941.4A CN108241626A (zh) 2016-12-23 2016-12-23 查询脚本的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611205941.4A CN108241626A (zh) 2016-12-23 2016-12-23 查询脚本的生成方法及装置

Publications (1)

Publication Number Publication Date
CN108241626A true CN108241626A (zh) 2018-07-03

Family

ID=62703382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611205941.4A Pending CN108241626A (zh) 2016-12-23 2016-12-23 查询脚本的生成方法及装置

Country Status (1)

Country Link
CN (1) CN108241626A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209705A (zh) * 2019-04-25 2019-09-06 深圳壹账通智能科技有限公司 数据查询方法、装置、计算机设备、计算机存储介质
CN110908976A (zh) * 2019-10-29 2020-03-24 中国建设银行股份有限公司 公积金数据采集方法及系统
CN111475505A (zh) * 2020-03-27 2020-07-31 平安科技(深圳)有限公司 一种数据采集的方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329308A (zh) * 2000-06-21 2002-01-02 国际商业机器公司 将应用程序数据分配至不相似格式分布式数据库的方法和系统
CN102841889A (zh) * 2011-06-20 2012-12-26 中兴通讯股份有限公司 一种基于orm架构的高效数据库访问的实现方法及装置
CN103699620A (zh) * 2013-12-19 2014-04-02 珠海世纪鼎利通信科技股份有限公司 面向对象中利用orm框架实现数据库操作的方法及系统
CN104346378A (zh) * 2013-07-31 2015-02-11 腾讯科技(深圳)有限公司 一种实现复杂数据处理的方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329308A (zh) * 2000-06-21 2002-01-02 国际商业机器公司 将应用程序数据分配至不相似格式分布式数据库的方法和系统
CN102841889A (zh) * 2011-06-20 2012-12-26 中兴通讯股份有限公司 一种基于orm架构的高效数据库访问的实现方法及装置
CN104346378A (zh) * 2013-07-31 2015-02-11 腾讯科技(深圳)有限公司 一种实现复杂数据处理的方法、装置及系统
CN103699620A (zh) * 2013-12-19 2014-04-02 珠海世纪鼎利通信科技股份有限公司 面向对象中利用orm框架实现数据库操作的方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209705A (zh) * 2019-04-25 2019-09-06 深圳壹账通智能科技有限公司 数据查询方法、装置、计算机设备、计算机存储介质
CN110908976A (zh) * 2019-10-29 2020-03-24 中国建设银行股份有限公司 公积金数据采集方法及系统
CN111475505A (zh) * 2020-03-27 2020-07-31 平安科技(深圳)有限公司 一种数据采集的方法及设备
CN111475505B (zh) * 2020-03-27 2023-05-26 平安科技(深圳)有限公司 一种数据采集的方法及设备

Similar Documents

Publication Publication Date Title
CN108279932B (zh) 一种移动终端动态配置用户界面方法和装置
CN110058856A (zh) 页面配置方法及装置
CN111290778B (zh) Ai模型的包装方法、平台及电子设备
CN113792159A (zh) 一种知识图谱数据融合方法和系统
CN105487864A (zh) 代码自动生成的方法和装置
CN108241626A (zh) 查询脚本的生成方法及装置
CN106844041A (zh) 内存管理的方法及内存管理系统
CN113408259B (zh) 一种基于区块链填写文件的方法、系统、装置和存储介质
CN108600282A (zh) 微服务发布方法、装置、存储介质和计算机设备
US20140059094A1 (en) Making use of a file path to determine file locality for applications
WO2020001162A1 (zh) 容器管理方法、装置和设备
CN110069312A (zh) 一种ui组件配置和生成ui组件库的方法及装置
CN109995814A (zh) 云主机资源的迁移方法及装置、通信设备、存储介质
CN111143446A (zh) 数据对象的数据结构转换处理方法、装置及电子设备
CN108241503A (zh) 注释说明的生成方法及装置
CN106844288A (zh) 一种随机字符串生成方法及装置
CN112685091A (zh) 基于大数据的业务请求处理方法、装置、设备和介质
CN106406980A (zh) 一种虚拟机的部署方法和装置
CN108509447A (zh) 数据处理方法及装置
US11429596B2 (en) Update for configuration file
CN106648567A (zh) 数据获取方法及装置
CN107451203A (zh) 数据库访问方法及装置
CN106843819A (zh) 对象序列化的方法及装置
CN105373384B (zh) 一种软件开发方法和装置
US10970316B1 (en) Maintaining a class hierarchy of an object-oriented data model using shared columns and/or overflow tables

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180703