数据隔离开发方法、装置、设备、可读存储介质及产品制造方法及图纸

技术编号:37867405 阅读:9 留言:0更新日期:2023-06-15 20:57
本申请提供了一种数据隔离开发方法、装置、设备、可读存储介质及产品,其中数据隔离开发方法包括:获取表格,表格包括对sql语句解析后的表名;判断表名对应的表格是否存在隔离标识;在存在隔离标识的情况下,获取租户身份标识;在sql语句中拼接租户身份标识,以实现数据隔离开发。根据本申请实施例,可以基于表格中的隔离标识,自动将需要隔离的表格涉及到的sql语句中拼接租户身份标识,以实现数据隔离开发。因此可以使得开发人员在开发过程中无需考虑数据的共享和隔离问题,专心针对业务逻辑进行开发,并且针对后续需求更改及技术框架的变动,可以最大程度的减少数据隔离带来的大量工作,降低了数据隔离开发的难度,提高了数据隔离开发的效率。隔离开发的效率。隔离开发的效率。

【技术实现步骤摘要】
数据隔离开发方法、装置、设备、可读存储介质及产品


[0001]本申请属于数据处理
,尤其涉及一种数据隔离开发方法、装置、设备、可读存储介质及产品。

技术介绍

[0002]在财务会计领域,大多数软件系统都是以“同库同表”的多租户形式存在,通常业务数据需按租户进行隔离,共享数据则无需隔离。一般来说在开发过程中撰写sql语句,sql语句可能同时连接多张隔离数据的表和共享数据的表,其中隔离数据的表都需拼接上隔离条件,以实现数据隔离。现有的数据隔离开发方法往往需要开发人员在撰写sql语句时,对每条涉及到隔离数据的表的sql语句进行拼接,导致数据隔离开发难度大、效率低。

技术实现思路

[0003]本申请实施例提供一种数据隔离开发方法、装置、设备、可读存储介质及产品,以解决数据隔离开发难度大、效率低的技术问题。
[0004]第一方面,本申请实施例提供一种数据隔离开发方法,方法包括:
[0005]获取表格,表格包括对sql语句解析后的表名;
[0006]判断表名对应的表格是否存在隔离标识;
[0007]在存在隔离标识的情况下,获取租户身份标识;
[0008]在sql语句中拼接租户身份标识,以实现数据隔离开发。
[0009]在一些实施例中,获取表格之前,数据隔离开发方法还包括:
[0010]获取表格对应的多个预设列;
[0011]判断多个预设列中是否包括租户ID列;
[0012]在多个预设列中包括租户ID列的情况下,生成租户ID列至实体继承类
[0013]生成多个预设列中除租户ID列外的其他列至实体类中;
[0014]基于实体继承类和实体类,添加对sql语句解析后的表名,得到表格。
[0015]在一些实施例中,判断多个预设列中是否包括租户ID列,包括:
[0016]将租户ID列的列名配置为预设字符;
[0017]在识别到预设字符的情况下,确定多个预设列中包括租户ID列。
[0018]在一些实施例中,隔离标识为实体继承类。
[0019]在一些实施例中,获取租户身份标识,包括:
[0020]获取租户ID值以及租户ID列的列名;
[0021]基于列名和租户ID值,生成租户身份标识。
[0022]在一些实施例中,在sql语句中拼接租户身份标识,以实现数据隔离开发,包括:
[0023]通过Mybatis

plus框架在sql语句中拼接租户身份标识,以实现数据隔离开发。
[0024]第二方面,本申请实施例提供了一种数据隔离开发装置,装置包括:
[0025]第一获取模块,用于获取表格,所述表格包括对sql语句解析后的表名;
[0026]判断模块,用于判断所述表名对应的表格是否存在隔离标识;
[0027]第二获取模块,用于在存在隔离标识的情况下,获取租户身份标识;
[0028]拼接模块,用于在所述sql语句中拼接所述租户身份标识,以实现数据隔离开发。
[0029]第三方面,本申请实施例提供了一种数据隔离开发设备,设备包括:
[0030]处理器以及存储有程序或指令的存储器;
[0031]所述处理器执行所述程序或指令时实现上述的方法。
[0032]第四方面,本申请实施例提供了一种机器可读存储介质,所述机器可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现上述的方法。
[0033]第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行上述方法。
[0034]本申请实施例的数据隔离开发方法、装置、设备、可读存储介质及产品,能够获取表格,表格包括对sql语句解析后的表名;判断表名对应的表格是否存在隔离标识;在存在隔离标识的情况下,获取租户身份标识;在sql语句中拼接租户身份标识,以实现数据隔离开发。这样,可以基于表格中的隔离标识,自动将需要隔离的表格涉及到的sql语句中拼接租户身份标识,以实现数据隔离开发。因此可以使得开发人员在开发过程中无需考虑数据的共享和隔离问题,专心针对业务逻辑进行开发,并且针对后续需求更改及技术框架的变动,可以最大程度的减少数据隔离带来的大量工作,降低了数据隔离开发的难度,提高了数据隔离开发的效率。
附图说明
[0035]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1是本申请一个实施例提供的数据隔离开发方法的流程示意图;
[0037]图2是本申请另一个实施例提供的数据隔离开发装置的结构示意图;
[0038]图3是本申请又一个实施例提供的电子设备的结构示意图。
具体实施方式
[0039]下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
[0040]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括
所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0041]为了解决现有技术问题,本申请实施例提供了一种数据隔离开发方法、装置、设备、可读存储介质及产品。下面首先对本申请实施例所提供的数据隔离开发方法进行介绍。
[0042]图1示出了本申请一个实施例提供的数据隔离开发方法的流程示意图。如图1所示,数据隔离开发方法可以包括如下步骤:
[0043]步骤101,获取表格,表格包括对sql语句解析后的表名。
[0044]在步骤101中,可以获取表格。该表格可以是指所有多租户同库同表的相关表格数据,且该表格可以按照预设表格规范生成,预设表格规范可以根据实际需求进行设定,此处不作具体限定。
[0045]例如,预设表格规范可以是指表格中租户ID列使用统一的列名,该统一的列名也可以根据实际需求进行设定,如列名可以为“tenant_id”。基于该预设表格规范,可以使用代码生成工具生成相应的java实体类本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据隔离开发方法,其特征在于,包括:获取表格,所述表格包括对sql语句解析后的表名;判断所述表名对应的表格是否存在隔离标识;在存在隔离标识的情况下,获取租户身份标识;在所述sql语句中拼接所述租户身份标识,以实现数据隔离开发。2.根据权利要求1所述的方法,其特征在于,所述获取表格之前,所述方法还包括:获取表格对应的多个预设列;判断所述多个预设列中是否包括租户ID列;在所述多个预设列中包括所述租户ID列的情况下,生成所述租户ID列至实体继承类;生成所述多个预设列中除所述租户ID列外的其他列至实体类中;基于所述实体继承类和所述实体类,添加对sql语句解析后的表名,得到表格。3.根据权利要求2所述的方法,其特征在于,所述判断所述多个预设列中是否包括租户ID列,包括:将租户ID列的列名配置为预设字符;在识别到所述预设字符的情况下,确定所述多个预设列中包括租户ID列。4.根据权利要求2所述的方法,其特征在于,所述隔离标识为所述实体继承类。5.根据权利要求2所述的方法,其特征在于,所述获取租户身份标识,包括:获取租户ID值以及所述租户ID列的列名;基于所述列名和所述租户ID值,生成租户身份标识。6.根据权利要求1所述的方法,其特征...

【专利技术属性】
技术研发人员:叶可家
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

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

1