数据库适配方法、装置、存储介质及电子设备制造方法及图纸

技术编号:37867850 阅读:10 留言:0更新日期:2023-06-15 20:57
本申请公开了一种数据库适配方法、装置、存储介质及电子设备。涉及大数据领域,该方法包括:获取业务请求;确定业务请求使用的目标语法类型;在目标语法类型与第一数据库所使用的第一语法类型匹配情况下,获取用于对业务请求进行处理的第一应用实例;对第一应用实例进行转换,得到第二应用实例,其中,第二应用实例所使用第二语法类型为第二数据库所采用的语法类型,第一语法类型与第二语法类型不同;基于第二应用实例对业务请求进行处理,使得业务请求访问第二数据库。通过本申请,解决了相关技术中数据库切换访问的修改量大的问题。技术中数据库切换访问的修改量大的问题。技术中数据库切换访问的修改量大的问题。

【技术实现步骤摘要】
数据库适配方法、装置、存储介质及电子设备


[0001]本申请涉及大数据领域,具体而言,涉及一种数据库适配方法、装置、存储介质及电子设备。

技术介绍

[0002]目前,存在数据库切换访问需求,常见的数据库软件有Oracle数据库,Mysql数据库,虽然都使用SQL语言(结构化查询语言),但是Oracle数据库,Mysql数据库所用的语法不同,无法直接兼容,相关技术中常常采用对SQL语句进行修改的方式,或是使用不同分支进行区分,实现兼容Oracle数据库,Mysql数据库的语法。逐句修改SQL语句需要消耗大量时间编写测试用例,用以验证修改的可靠性,消耗大量的时间资源的人力资源。使用不同分支进行区分的方法,针对数据库改造工作量较大的节点,无法实现开发与改造的同步测试,造成对数据库的适配效率不理想。
[0003]针对相关技术中数据库切换访问的修改量大的问题,目前尚未提出有效的解决方案。

技术实现思路

[0004]本申请的主要目的在于提供一种数据库适配方法、装置、存储介质及电子设备,以解决相关技术中数据库切换访问的修改量大的问题。
[0005]为了实现上述目的,根据本申请的一个方面,提供了一种数据库适配方法。该方法包括:获取业务请求;确定所述业务请求使用的目标语法类型;在所述目标语法类型与第一数据库所使用的第一语法类型匹配情况下,获取用于对所述业务请求进行处理的第一应用实例;对所述第一应用实例进行转换,得到第二应用实例,其中,所述第二应用实例所使用第二语法类型为第二数据库所采用的语法类型,所述第一语法类型与所述第二语法类型不同;基于所述第二应用实例对所述业务请求进行处理,使得所述业务请求访问所述第二数据库。
[0006]为了实现上述目的,根据本申请的另一方面,提供了一种数据库适配装置。该装置包括:第一获取模块,用于获取业务请求;第一确定模块,用于确定所述业务请求使用的目标语法类型;第二获取模块,用于在所述目标语法类型与第一数据库所使用的第一语法类型匹配情况下,获取用于对所述业务请求进行处理的第一应用实例;调用转换模块,用于对所述第一应用实例进行转换,得到第二应用实例,其中,所述第二应用实例所使用第二语法类型为第二数据库所采用的语法类型,所述第一语法类型与所述第二语法类型不同;访问模块,用于基于所述第二应用实例对所述业务请求进行处理,使得所述业务请求访问所述第二数据库。
[0007]为了实现上述目的,根据本申请的另一方面,提供了一种非易失性存储介质,其特征在于,所述非易失性存储介质存储有多条指令,所述指令适于由处理器加载并执行任意一项所述的数据库适配方法。
[0008]为了实现上述目的,根据本申请的另一方面,提供了一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现任意一项所述的数据库适配方法。
[0009]通过本申请,采用以下步骤:获取业务请求;确定所述业务请求使用的目标语法类型;在所述目标语法类型与第一数据库所使用的第一语法类型匹配情况下,获取用于对所述业务请求进行处理的第一应用实例;对所述第一应用实例进行转换,得到第二应用实例,其中,所述第二应用实例所使用第二语法类型为第二数据库所采用的语法类型,所述第一语法类型与所述第二语法类型不同;基于所述第二应用实例对所述业务请求进行处理,使得所述业务请求访问所述第二数据库。达到了提高切换数据库效率的目的,解决了相关技术中数据库切换访问的修改量大的问题。进而达到了提高数据库的适配效率的效果。
附图说明
[0010]构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0011]图1是根据本申请实施例提供的数据库适配方法的流程图;
[0012]图2是根据本申请实施例提供的数据库适配方法的示意图;
[0013]图3是根据本申请实施例提供的数据库适配装置的示意图;
[0014]图4是根据本专利技术实施例提供的一种电子设备示意图。
具体实施方式
[0015]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0016]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0017]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0018]为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
[0019]动态代理,动态代理是指在程序运行期,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。在生成代理对象的过程中,目标对象不变,代理对象中的方法是目标对象方法的增强方法。可以理解为运行期间,对象中方法的动态拦截,在拦截方法的前后执行功能操作。
[0020]Spring框架,Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC,Inversion Of Control)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java(一种面向对象的编程语言)的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML(即可标记拓展语言)文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。
[0021]Mybatis框架,MyBatis是一款持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC(Java database connectivity,Java数据可连接)代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库适配方法,其特征在于,包括:获取业务请求;确定所述业务请求使用的目标语法类型;在所述目标语法类型与第一数据库所使用的第一语法类型匹配情况下,获取用于对所述业务请求进行处理的第一应用实例;对所述第一应用实例进行转换,得到第二应用实例,其中,所述第二应用实例所使用第二语法类型为第二数据库所采用的语法类型,所述第一语法类型与所述第二语法类型不同;基于所述第二应用实例对所述业务请求进行处理,使得所述业务请求访问所述第二数据库。2.根据权利要求1所述的方法,其特征在于,所述基于所述第二应用实例对所述业务请求进行处理,使得所述业务请求访问所述第二数据库,包括:获取所述第二数据库的修正配置信息;采用所述第二应用实例和所述修正配置信息,对所述业务请求进行处理,使得所述业务请求访问所述第二数据库。3.根据权利要求1所述的方法,其特征在于,所述确定所述业务请求使用的目标语法类型,包括:在存在所述第一数据库对应的第一服务框架,所述第二数据库对应的第二服务框架的情况下,确定获取所述业务请求的目标服务框架;基于所述目标服务框架对应的语法类型,确定所述目标语法类型。4.根据权利要求3所述的方法,其特征在于,所述第一服务框架为Mybatis,所述第一数据库为Oracle,所述第二服务框架为Spring,所述第二数据库为Mysql,所述第一应用实例为Mybatis Oracle Mapper实例,所述第二数据库的第二应用实例为Mysql Mapper实例。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述目标语法类型与第二数据库所使用的第二语法类型匹配情况下,获取用于对所述业务请求进行处理的第二应用实例;基于所述第二应用实例对所述业务请求进行处理,使得所述...

【专利技术属性】
技术研发人员:李书培
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1