一种数据库的适配装置、装置、计算机设备和存储介质制造方法及图纸

技术编号:30101893 阅读:14 留言:0更新日期:2021-09-18 09:07
本发明专利技术实施例提供了一种数据库的适配装置、装置、计算机设备和存储介质,包括:Sharding

【技术实现步骤摘要】
一种数据库的适配装置、装置、计算机设备和存储介质


[0001]本专利技术涉及计算机
,特别是涉及一种数据库的适配装置、一种计算机设备和一种存储介质。

技术介绍

[0002]随着系统的数据量的增长,数据库某些表的数据会越来越多,当数据多达几百万甚至上千万级别的时候,性能会越来越低,数据处理效率有待进一步提高。

技术实现思路

[0003]鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据库的适配装置、一种计算机设备和一种存储介质。
[0004]为了解决上述问题,本专利技术实施例公开了一种数据库的适配装置,包括:
[0005]Sharding

JDBC框架改写模块,用于改写不同数据库所支持的SQL语句;
[0006]执行模块,用于使用mybatis内置参数_databaseId来判断不同的数据库,进而执行不同写法的SQL。
[0007]优选地,所述方法还包括:
[0008]动态SQL使用模块,用于针对不同数据库有所差异的SQL,使用动态SQL。
[0009]优选地,所述方法还包括:
[0010]SQL解析模块,用于解析SQL语句。
[0011]优选地,所述方法还包括:
[0012]查询优化模块,用于优化SQL语句的查询。
[0013]优选地,所述方法还包括:
[0014]SQL路由模块,用于路由SQL语句。
[0015]本专利技术实施例公开了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上的数据库的适配装置的对应步骤。
[0016]本专利技术实施例公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据库的适配装置的对应步骤。
[0017]本专利技术实施例包括以下优点:
[0018]本专利技术实施例中,该数据库的适配装置可以使shardingjdbc完全支持系统,适配不同的数据库,web应用数据库操作,sql通过java jdbc到达数据库执行,使用mybatis内置参数_databaseId来判断不同的数据库,进而执行相应的SQL,在大数据场景下,需要采用方案对数据分开存储。使用Sharding

JDBC插件可以达到分库分表的目的,改进SQL写法来支持Sharding

JDBC插件,程序会根据不同数据库来判断执行与其数据库相应的SQL,避免了Sharding

JDBC使用过程中出SQL不兼容现象。
附图说明
[0019]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图
[0020]图1是本专利技术实施例的一种数据库的适配装置实施例的结构框图;
[0021]图2是一个实施例的一种计算机设备的内部结构图。
具体实施方式
[0022]为了使本专利技术实施例所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术实施例进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0023]参照图1,示出了本专利技术实施例的一种数据库的适配装置实施例的结构框图,具体可以包括如下模块:
[0024]Sharding

JDBC框架改写模块301,用于改写不同数据库所支持的SQL语句;
[0025]执行模块302,用于使用mybatis内置参数_databaseId来判断不同的数据库,进而执行不同写法的SQL。
[0026]优选地,所述方法还包括:
[0027]动态SQL使用模块,用于针对不同数据库有所差异的SQL,使用动态SQL。
[0028]优选地,所述方法还包括:
[0029]SQL解析模块,用于解析SQL语句。
[0030]优选地,所述方法还包括:
[0031]查询优化模块,用于优化SQL语句的查询。
[0032]优选地,所述方法还包括:
[0033]SQL路由模块,用于路由SQL语句。
[0034]本专利技术实施例中,对于部分分库分表插件不支持的SQL,进行SQL写法改写,使用Sharding

JDBC支持的SQL写法来重构SQL达到一致的执行效果。使用mybatis内置参数_databaseId来判断不同的数据库,进而执行不同写法的SQL。对Sharding

JDBC不支持的SQL进行改写,不同数据库有所差异的SQL,使用动态SQL。
[0035]举例而言,当Sharding

JDBC接受到一条SQL语句时,会陆续执行SQL解析=>查询优化=>SQL路由=>SQL改写=>SQL执行=>结果归并,最终返回执行结果
[0036]本专利技术实施例中,该数据库的适配装置可以使shardingjdbc完全支持系统,适配不同的数据库,web应用数据库操作,sql通过java jdbc到达数据库执行,使用mybatis内置参数_databaseId来判断不同的数据库,进而执行相应的SQL,在大数据场景下,需要采用方案对数据分开存储。使用Sharding

JDBC插件可以达到分库分表的目的,改进SQL写法来支持Sharding

JDBC插件,程序会根据不同数据库来判断执行与其数据库相应的SQL,避免了Sharding

JDBC使用过程中出SQL不兼容现象。
[0037]上述数据库的适配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形
式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0038]在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图2所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库的适配方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库的适配装置,其特征在于,包括:Sharding

JDBC框架改写模块,用于改写不同数据库所支持的SQL语句;执行模块,用于使用mybatis内置参数_databaseId来判断不同的数据库,进而执行不同写法的SQL。2.根据权利要求1所述的数据库的适配装置,其特征在于,所述方法还包括:动态SQL使用模块,用于针对不同数据库有所差异的SQL,使用动态SQL。3.根据权利要求1所述的数据库的适配装置,其特征在于,所述方法还包括:SQL解析模块,用于解析SQL语句。4.根据权利要求1所述...

【专利技术属性】
技术研发人员:傅金波梁胜强
申请(专利权)人:广州汇思信息科技股份有限公司
类型:发明
国别省市:

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

1