CN112905624B - 一种低代码开发平台的数据库扩展方法及设备 - Google Patents
一种低代码开发平台的数据库扩展方法及设备 Download PDFInfo
- Publication number
- CN112905624B CN112905624B CN202110218294.5A CN202110218294A CN112905624B CN 112905624 B CN112905624 B CN 112905624B CN 202110218294 A CN202110218294 A CN 202110218294A CN 112905624 B CN112905624 B CN 112905624B
- Authority
- CN
- China
- Prior art keywords
- database
- description file
- sql statement
- extended
- general
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 113
- 238000011161 development Methods 0.000 title claims abstract description 80
- 230000006978 adaptation Effects 0.000 claims description 41
- 238000005516 engineering process Methods 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000007667 floating Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000012141 concentrate Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (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
本申请公开了一种低代码开发平台的数据库扩展方法及设备,通过基于用户的第一操作,构建扩展SQL语句描述文件并进行存储;扩展SQL语句描述文件用于表示扩展数据库SQL语句的获取方法;获取低代码开发平台预先设置的通用SQL语句描述文件;通用SQL语句描述文件用于表示通用数据库SQL语句的获取方法;将扩展SQL语句描述文件继承通用SQL语句描述文件,并复写通用SQL语句描述文件中对应的获取方法;根据构建的扩展SQL语句描述文件,生成相应的第一配置文件并存储;确定第一配置文件与扩展SQL语句描述文件的第一关联关系,并将第一关联关系进行存储,以实现对低代码开发平台的数据库的扩展。
Description
技术领域
本申请涉及低代码开发技术领域,尤其涉及一种低代码开发平台的数据库扩展方法及设备。
背景技术
低代码开发平台(Low-Code Development Platform,LCDP)作为当下软件开发的新潮流,是一种无需编码或者通过少量代码就可以快速生成应用程序的开发平台。它能使用可重用的、基于组件的的体系结构进行开发,从而加快应用程序的开发和交付周期。低代码开发平台提供了抑郁理解的可视化建模工具,使具有不同经验水平的开发人员可以通过拖拽组件和模型驱动的逻辑,来创建网页或移动应用、数据模型,并构建业务流程,必要时还可以添加自己的代码、同时,低代码开发平台封装了基本的数据库增删改查操作,以及常用的通用业务逻辑,是业务人员可以更专注于业务开发,大大降低了开发成本与维护成本。
当下,在云计算技术向全栈云和智能云发展的过程中,低代码开发甚至是无代码开发是一个重要的发展方向,低代码开发技术越来越受到欢迎。
但是,在实现上述描述特征的时,不可避免的会遇到一些问题。对于不同的项目中,所使用的的操作系统、技术栈、数据库等都有可能不同。对于数据库来说,低代码开发平台中大部分已经内置封装了各大主流数据库(例如:括 MySQL、Oracle、SQLserver、PostgreSQL等)适配。而随着科技发展进行的不断加快,新的数据库(例如许多国内的数据库)层出不从并且在各项目中的使用率也不断提升。而在这些数据库中,可能存在与低代码开发平台对应的数据库不同的使用方法,需要在程序中进行重新进行适配。
由于在低代码开发领域中,希望业务开发人员能够更专注与业务开发,与数据库适配这种纯技术向工作隔离。基于此,如何能够方便快捷的对于不同类型的数据库适配,实现低代码开发平台的数据库扩展,成为低代码开发技术发展不容忽视的问题。
发明内容
本说明书实施例提供一种低代码开发平台的数据库扩展方法及设备,用于解决现有技术中的如下技术问题:低代码开发平台进行数据库扩展时,需要专业的开发人员进行操作,门槛高,不利于开发人员专注于业务开发工作,局限了低代码开发技术的发展。
本说明书实施例采用下述技术方案:
一种低代码开发平台的数据库扩展方法,所述方法包括:
基于用户的第一操作,构建扩展SQL语句描述文件并进行存储;所述扩展SQL语句描述文件用于表示扩展数据库SQL语句的获取方法;
获取所述低代码开发平台预先设置的通用SQL语句描述文件;所述通用 SQL语句描述文件用于表示通用数据库SQL语句的获取方法;
将所述扩展SQL语句描述文件继承所述通用SQL语句描述文件,并复写所述通用SQL语句描述文件中对应的获取方法;
根据构建的扩展SQL语句描述文件,生成相应的第一配置文件并存储;其中,所述第一配置文件包括:扩展数据库的数据库类型,扩展SQL语句文件的类全名;
确定所述第一配置文件与所述扩展SQL语句描述文件的第一关联关系,并将所述第一关联关系进行存储,以实现对所述低代码开发平台的数据库的扩展。
可选地,所述方法还包括:
基于用户的第二操作,构建扩展数据库字段类型适配描述文件并存储;所述扩展数据库字段类型适配描述文件用于表示不同的数据库字段类型与对应技术栈基本类型之间的转换方法;
获取所述所述代码开发平台预先设置的通用数据库字段类型适配描述文件;
将所述扩展数据库字段类型适配描述文件继承所述通用数据库字段类型适配描述文件,并复写所述通用数据库字段类型适配描述文件中的转换方法;
根据构建的扩展数据库字段类型适配描述文件,生成相应的第二配置文件并存储;其中,所述第二配置文件包括:扩展数据库的数据库类型、扩展数据库字段类型适配的类全名;
确定所述第二配置文件与所述扩展数据库字段类型适配描述文件之间的第二关联关系,并将所述第二关联关系进行存储,以实现对低代码开发平台的数据库的扩展。
可选地,所述方法还包括:
在接收到数据库运行指令的情况下,根据所述数据库运行指令中的当前环境的数据库类型,确定相应的第一配置文件;
基于所述第一配置文件,确定相应的扩展SQL语句描述文件;
基于所述相应的扩展SQL语句描述文件,以执行相应的通用SQL语句描述文件,以实现执行相应的数据库的操作。
可选地,所述通用SQL语句描述文件至少包括以下任意一项:查询语句、新增语句、修改语句、连接语句。
可选地,所述通用数据库字段类型适配描述文件包括:获取各类型数据的方法、构造各类型参数的方法;
所述获取各类型数据的方法用于表示在执行数据库查询语句之后,将相应的查询结果转换为对应程序实体数据;
所述构造各类型参数的方法用于表示在执行数据库新增、修改或查询的过滤条件中,对修改的值或者过滤条件的值进行参数化构造的方法。
可选地,在基于用户第一操作,构建特征SQL语句描述文件之前,所述方法还包括:
接收用户的数据库扩展指令;所述数据库扩展指令包括:数据库类型;
确定所述数据库类型与所述低代码开发平台预先设置的通用数据库是匹配;
在所述数据库类型与所述通用数据库不匹配的情况下,生成第一提示信息并向所述用户进行展示;
其中,所述第一提示信息用于指示所述用户进行第一操作。
可选地,将所述扩展SQL语句描述文件继承所述通用SQL语句描述文件,并复写所述用SQL语句描述文件中对应的获取方法,具体包括:
确定所述扩展SQL语句描述文件中的语句是否与所述通用SQL语句描述文件中相应的语句匹配;
将扩展SQL语句描述文件中不匹配的语句作为待继承语句;
将所述待继承语句继承所述通用SQL语句描述文件中相应的语句,并复写所述待继承语句继承的所述通用SQL语句描述文件的语句的获取方法。
可选地,在基于用户的第二操作,构建扩展数据库字段类型适配描述文件之前,所述方法还包括:
在构建所述扩展SQL语句描述文件之后,生成第二提示信息并向所述用户进行展示;所述第二提示信息用于表示是否需要构建构建扩展数据库字段类型适配描述文件;
基于所述用户根据所述第二提示信息进行的操作,获取确定信息;
并根据所述确定信息,接收用户的第二操作。
可选地,所述扩展SQL语句描述文件对应的扩展数据库,与所述通用SQL 语句描述文件对应的通用数据库的数据库类型不同。
一种低代码开发平台的数据库扩展的设备,其特征在于,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
基于用户的第一操作,构建扩展SQL语句描述文件并进行存储;所述扩展SQL语句描述文件用于表示扩展数据库SQL语句的获取方法;
获取所述低代码开发平台预先设置的通用SQL语句描述文件;所述通用 SQL语句描述文件用于表示通用数据库SQL语句的获取方法;
将所述扩展SQL语句描述文件继承所述通用SQL语句描述文件,并复写所述通用SQL语句描述文件中对应的获取方法;
根据构建的扩展SQL语句描述文件,生成相应的第一配置文件并存储;其中,所述第一配置文件包括:扩展数据库的数据库类型,扩展SQL语句文件的类全名;
确定所述第一配置文件与所述扩展SQL语句描述文件的第一关联关系,并将所述第一关联关系进行存储,以实现对所述低代码开发平台的数据库的扩展。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:将通用SQL语句描述文件作为基类,构建的扩展SQL语句描述文件继承并复写通用SQL语句描述文件,并根据构建的过程生成第一配置文件,从而实现数据库的扩展,无需重新进行适配,在很大程度上节约了低代码开发平台的开发成本,无需专业的开发人员,提高数据库扩展效率。同时,不但可以保证业务逻辑的可复用、可移植,还能够灵活的适配不同种类的数据库需求,以最小的成本实现程序在特定数据库环境中落地。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的低代码开发平台的数据库扩展方法的一种流程图;
图2为本说明书实施例提供的低代码开发平台的数据库扩展方法的另一种流程图;
图3为本说明书实施例提供的低代码开发平台的数据库扩展设备的一种结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
随着技术的发展,能够节约软件开发成本、提高软件开发效率的低代码开发平台越来越受到欢迎。但是随着数据库技术的发展,某些项目不仅仅使用一些主流数据库,一些新生的数据库也越来越受到欢迎。在这种情况下,为了保证项目的正常实施,需要在原有的低代码开发平台中重新进行适配,这时就需要专业的业务人员来进行操作,门槛高,需要耗费较多的成本。
基于此,本申请的方案提供了低代码开发平台的数据库扩展方法及相应方案用于解决上述技术问题,具体如下阐述。
图1为本说明书实施例提供的低代码开发平台的数据库扩展方法的流程图。如图1所示,本说明书实施例提供的低代码开发平台的数据库扩展方法,可以包括以下步骤:
S101,服务器接收用户的数据库扩展指令。
其中,数据库扩展指令可以包括:数据库类型。这里所说的数据库类型是指需要扩展的数据库的类型。
需要说明的是,在本说明书实施例中作为执行主体的服务器仅为示例,由本领域技术人员可知,本说明书实施例提供的方法的执行主体还可以是除服务器之外的其他设备。
S102,服务器确定数据库类型与低代码开发平台预先设置的通用数据库是否匹配。
低代码开发平台会预先设置一些主流的数据库,也就是上述通用数据库。
服务器可以先根据数据库扩展指令中的数据库类型与通用数据库进行匹配,以确定需要扩展的数据库是否已经在低代码开发平台中设置。在需要扩展的数据库已在低代码开发平台中设置,则说明数据库类型与通用数据库匹配,此时就不需要再进行扩展。在需要扩展的数据库未在低代码开发平台中设置,则说明数据库类型与通用数据库不匹配。
S103,在数据库类型与通用数据库不匹配的情况下,生成第一提示信息并向用户进行展示。
其中,上述第一提示信息用于指示用户进行第一操作。
在数据库类型与通用数据库不匹配的情况下,则说明需要在低代码开发平台中重新适配。
S104,服务器基于用户的第一操作,构建扩展SQL语句描述文件并进行存储。
其中,扩展SQL语句描述文件用于表示扩展数据库SQL语句的获取方法。
用户通过展示的第一提示信息,进行第一操作。服务器可以基于用户的第一操作,构建扩展SQL语句描述文件。
其中,扩展SQL语句描述文件至少包括以下任意一项:查询语句、新增语句、修改语句、连接语句。
S105,获取低代码开发平台预先设置的通用SQL语句描述文件。
其中,通用SQL语句描述文件用于表示通用数据库SQL语句的获取方法。通用SQL语句描述文件至少包括以下任意一项:查询语句、新增语句、修改语句、连接语句,如下表1所示:
表1
方法名称 | 含义 |
getQuerySql | 获取数据库查询语句的方法。 |
getInsertSql | 获取数据库新增语句的方法。 |
getUpdateSql | 获取数据库修改语句的方法。 |
getDeleteSql | 获取数据库删除语句的方法。 |
getJoinSql | 获取数据库连接语句的方法。 |
在本申请说明书的一些实施例中,扩展SQL语句描述文件对应的扩展数据库,与通用SQL语句描述文件对应的通用数据库的数据库类型不同。
S106,服务器将扩展SQL语句描述文件继承通用SQL语句描述文件,并复写通用SQL语句描述文件中对应的获取方法。
在本申请说明书中,将上述通用SQL语句描述文件作为一个基类,在扩展SQL语句描述文件作为子类可以继承并复写该基类。
具体地,服务器先确定扩展SQL语句描述文件中的语句是否与通用SQL 语句描述文件中相应的语句匹配。然后将扩展SQL语句描述文件中不匹配的语句作为待继承语句。最后,将待继承语句继承通用SQL语句描述文件中相应的语句,并复写待继承语句继承的通用SQL语句描述文件的语句的获取方法。
由于扩展数据库与通用数据的SQL语句可能存在相同的语句,例如扩展数据库A中的查询语句与通用数据库B中的查询语句相同,在这种情况下,可以直接默认通用数据库B的查询语句,不需要扩展数据库A中的查询语句继承并复写通用数据库B中的查询语句,从而提高数据库扩展效率。
S107,服务器根据构建的扩展SQL语句描述文件,生成相应的第一配置文件并存储。
服务器对扩展SQL语句描述文件的构建过程进行记录,以得到相应的第一配置文件,该第一配置文件中可以包括:扩展数据库的数据库类型,扩展SQL 语句描述文件的类全名,如下表2所示:
属性名称 | 含义 |
DBType | 数据库类型。 |
SQLAdaptor | 扩展SQL语句描述文件的类全名。 |
S108,确定第一配置文件与扩展SQL语句描述文件的第一关联关系,并将第一关联关系进行存储,以实现对低代码开发平台的数据库的扩展。
基于上述步骤S101-S108,将通用SQL语句描述文件作为基类,构建的扩展SQL语句描述文件继承并复写通用SQL语句描述文件,并根据构建的过程生成第一配置文件,从而实现数据库的扩展,无需重新进行适配,在很大程度上节约了低代码开发平台的开发成本,无需专业的开发人员,提高数据库扩展效率。同时,不但可以保证业务逻辑的可复用、可移植,还能够灵活的适配不同种类的数据库需求,以最小的成本实现程序在特定数据库环境中落地。
由于在低代码平台适配扩展数据库的情况下,除了SQL语句之外,有可能数据库字段类型也需要重新适配。基于此,如图2所示,本说明书实施例提供的低代码开发平台的数据库扩展方法,还可以包括以下步骤:
S201,服务器在构建在构建扩展SQL语句描述文件之后,生成第二提示信息并向用户进行展示。
其中,第二提示信息用于表示是否需要构建扩展数据库字段类型适配描述文件。
S202,服务器基于用户根据第二提示信息进行的操作,获取确定信息。
其中,确定信息是指用户确定需要进行构建扩展数据库字段类型适配描述文件。
S203,服务器基于获取的确定信息,接收用户的第二操作。
S204,服务器基于用户的第二操作,构建扩展数据库字段类型适配描述文件并存储。
其中,扩展数据库字段类型适配描述文件用于表示不同的数据库字段类型与对应技术栈基本类型之间的转换方法。
S205,服务器获取代码开发平台预先设置的通用数据库字段类型适配描述文件。
在本申请的一些实施例中,通用数据库字段类型适配描述文件包括:获取各类型数据的方法、构造各类型参数的方法。
其中,获取各类型数据的方法用于表示在执行数据库查询语句之后,将相应的查询结果转换为对应程序实体数据。
获取各类型数据的方法可以包括:获取字符串类型数据、获取整型数据、获取浮点型数据、获取时间类型数据、获取布尔类型数据、获取二进制类型数据、获取长文本类型数据等,如表3所示:
表3
方法名称 | 含义 |
getStringValue | 获取字符串类型数据。 |
getIntValue | 获取整型数据。 |
getDecimalValue | 获取浮点型数据。 |
getDateValue | 获取时间类型数据。 |
getBoolValue | 获取布尔类型数据。 |
getBlobValue | 获取二进制类型数据。 |
getClobValue | 获取长文本类型数据。 |
构造各类型参数的方法用于表示在执行数据库新增、修改或查询的过滤条件中,对修改的值或者过滤条件的值进行参数化构造的方法。
其中,构造各类型参数的方法可以包括:构造字符串类型参数、构造字符型参数、构造整型参数、构造浮点型参数、构造日期型参数、构造布尔型参数、构造二进制类型参数、构造长文本类型参数等,如表4所示:
表4
方法名称 | 含义 |
buildVarcharParam | 构造字符串类型参数。 |
buildCharParam | 构造字符型参数。 |
buildIntParam | 构造整型参数。 |
buildDecimalParam | 构造浮点型参数。 |
buildDateParam | 构造日期型参数。 |
buildBoolParam | 构造布尔型参数。 |
buildBlobParam | 构造二进制类型参数。 |
buildClobParam | 构造长文本类型参数。 |
S206,服务器将扩展数据库字段类型适配描述文件继承通用数据库字段类型适配描述文件,并复写通用数据库字段类型适配描述文件中的转换方法。
其中,步骤S206的具体方法与上述步骤S106中的方法相似,在此不做加以赘述。
S207,服务器根据构建的扩展数据库字段类型适配描述文件,生成相应的第二配置文件并存储。
其中,第二配置文件包括:扩展数据库的数据库类型、扩展数据库字段类型适配的类全名,如表5所示:
属性名称 | 含义 |
DBType | 数据库类型。 |
DataTypeAdaptor | 扩展数据库字段类型适配的类全名。 |
需要说明的是,上述第二配置文件与上述第一配置文件可以是同一个文件,在生成第二配置文件中,将扩展数据库字段类型适配的类全名添加到相应的第一配置文件中即可。由本领域技术文件可知,上述第二配置文件与上述第一配置文件也可以是不同的文件,在本申请说明书中不加以限定。
S208,服务器确定第二配置文件与扩展数据库字段类型适配描述文件之间的第二关联关系,并将第二关联关系进行存储,以实现对低代码开发平台的数据库的扩展。
通过上述方案,可以进一步实现对低代码开发平台的数据库的扩展,进一步地提高数据库扩展的效率,降低成本。
在本申请的一些实施例中,本说明书实施例提供的低代码平台的数据库扩展方法还可以包括:
服务器在接收到数据库运行指令的情况下,根据所述数据库运行指令中的当前环境的数据库类型,确定相应的第一配置文件;
基于所述第一配置文件,确定相应的扩展SQL语句描述文件;
基于所述相应的扩展SQL语句描述文件,以执行相应的通用SQL语句描述文件,以实现执行相应的数据库的操作。
具体地,在项目执行的情况下,服务器可以生成相应数据库运行指令,数据库运行指令中可以包括当前环境的数据库类型,也就是项目执行所需要的数据库的数据库类型。服务器根据当前环境的数据库类型,确定相应的第一配置文件。并基于第一配置文件,确定相应的扩展SQL语句描述文件。通过该扩展SQL语句描述文件继承的通用SQL语句描述文件,与通过低代码开发平台建模工具创建的实体模型组装在一起,形成最终的运行是数据库执行逻辑。
需要说明的是,在数据库字段类型也需要重新适配的情况下,还需要通过述数据库运行指令中的当前环境的数据库类型,确定相应的第二配置文件;基于所述第二配置文件,确定相应的扩展数据库字段类型适配描述文件;基于所述相应的数据库字段类型适配描述文件,以执行相应的通用SQ数据库字段类型适配描述文件,以实现执行相应的数据库的操作,具体与上述扩展SQL语句描述文件的方式相似,在此不再加以赘述。
例如,执行某项目时,可以如下所示:
一、某项目中,使用特定的扩展数据库DB1。
二、在数据库DB1中,删除语句格式为“DELETE{TableName}”,而通用格式为“DELETE FROM{TableName}”,因此,添加子类“DB1SqlAdaptor”,继承基类,并复写方法“getDeleteSql”。
三、在数据库DB1中,获取到的二进制数据类型为“java.sql.Blob”,而通过适配方法中,获取到的数据类型为“byte[]”。因此,添加子类“DB1TypeAdaptor”,复写方法“getBlobValue”,具体实现如下:
四、在数据库DB1中,在执行插入数据时,对“java.util.Date”类型的时间格式有更高的要求,而通用适配方法中直接使用“java.util.Date”类型的时间数据就可以。因此,子类“DB1TypeAdaptor”中,复写方法“buildDateParam”,具体实现如下:
五、在配置文件中配置数据库扩展信息。设置“DBType”为“DB1”,并将子类类全名分别写入对应配置节中。具体配置格式如下:
六、运行时,程序执行中,根据上下文中记录的当前环境数据库类型“DB1”,在配置文件中找到对应的配置节,从而获取到对应的子类“DB1SqlAdaptor”和“DB1TypeAdaptor”,与对应实体组装成最终执行SQL,并执行数据库操作。
通过上述方案,在执行项目的过程中,可以方便快捷的实现对扩展数据库的使用。
基于同样的思路,本申请的一些实施例还提供了上述方法对应的设备。
图3为本说明书实施例提供的低代码开发平台的数据库扩展设备的结构示意图。如图3所示,本说明书实施例提供的低代码开发平台的数据库扩展的设备,所述设备包括:基于用户的第一操作,构建扩展SQL语句描述文件并进行存储;所述扩展SQL语句描述文件用于表示扩展数据库SQL语句的获取方法;
获取所述低代码开发平台预先设置的通用SQL语句描述文件;所述通用 SQL语句描述文件用于表示通用数据库SQL语句的获取方法;
将所述扩展SQL语句描述文件继承所述通用SQL语句描述文件,并复写所述通用SQL语句描述文件中对应的获取方法;
根据构建的扩展SQL语句描述文件,生成相应的第一配置文件并存储;其中,所述第一配置文件包括:扩展数据库的数据库类型,扩展SQL语句文件的类全名;
确定所述第一配置文件与所述扩展SQL语句描述文件的第一关联关系,并将所述第一关联关系进行存储,以实现对所述低代码开发平台的数据库的扩展。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的设备和方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备的有益技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以扩展方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (7)
1.一种低代码开发平台的数据库扩展方法,其特征在于,所述方法包括:
基于用户的第一操作,构建扩展SQL语句描述文件并进行存储;所述扩展SQL语句描述文件用于表示扩展数据库SQL语句的获取方法;
获取所述低代码开发平台预先设置的通用SQL语句描述文件;所述通用SQL语句描述文件用于表示通用数据库SQL语句的获取方法;
所述扩展SQL语句描述文件对应的扩展数据库,与所述通用SQL语句描述文件对应的通用数据库的数据库类型不同;
将所述扩展SQL语句描述文件继承所述通用SQL语句描述文件,并复写所述通用SQL语句描述文件中对应的获取方法;将所述扩展SQL语句描述文件继承所述通用SQL语句描述文件,并复写所述用SQL语句描述文件中对应的获取方法,具体包括:
确定所述扩展SQL语句描述文件中的语句是否与所述通用SQL语句描述文件中相应的语句匹配;
将扩展SQL语句描述文件中不匹配的语句作为待继承语句;
将所述待继承语句继承所述通用SQL语句描述文件中相应的语句,并复写所述待继承语句继承的所述通用SQL语句描述文件的语句的获取方法;
根据构建的扩展SQL语句描述文件,生成相应的第一配置文件并存储;其中,所述第一配置文件包括:扩展数据库的数据库类型,扩展SQL语句文件的类全名;
确定所述第一配置文件与所述扩展SQL语句描述文件的第一关联关系,并将所述第一关联关系进行存储,以实现对所述低代码开发平台的数据库的扩展;
在接收到数据库运行指令的情况下,根据所述数据库运行指令中的当前环境的数据库类型,确定相应的第一配置文件;
基于所述第一配置文件,确定相应的扩展SQL语句描述文件;
基于所述相应的扩展SQL语句描述文件,以执行相应的通用SQL语句描述文件,以实现执行相应的数据库的操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于用户的第二操作,构建扩展数据库字段类型适配描述文件并存储;所述扩展数据库字段类型适配描述文件用于表示不同的数据库字段类型与对应技术栈基本类型之间的转换方法;
获取所述所述代码开发平台预先设置的通用数据库字段类型适配描述文件;
将所述扩展数据库字段类型适配描述文件继承所述通用数据库字段类型适配描述文件,并复写所述通用数据库字段类型适配描述文件中的转换方法;
根据构建的扩展数据库字段类型适配描述文件,生成相应的第二配置文件并存储;其中,所述第二配置文件包括:扩展数据库的数据库类型、扩展数据库字段类型适配的类全名;
确定所述第二配置文件与所述扩展数据库字段类型适配描述文件之间的第二关联关系,并将所述第二关联关系进行存储,以实现对低代码开发平台的数据库的扩展。
3.根据权利要求1所述的方法,其特征在于,所述通用SQL语句描述文件至少包括以下任意一项:查询语句、新增语句、修改语句、连接语句。
4.根据权利要求2所述的方法,其特征在于,所述通用数据库字段类型适配描述文件包括:获取各类型数据的方法、构造各类型参数的方法;
所述获取各类型数据的方法用于表示在执行数据库查询语句之后,将相应的查询结果转换为对应程序实体数据;
所述构造各类型参数的方法用于表示在执行数据库新增、修改或查询的过滤条件中,对修改的值或者过滤条件的值进行参数化构造的方法。
5.根据权利要求1所述的方法,其特征在于,在基于用户第一操作,构建特征SQL语句描述文件之前,所述方法还包括:
接收用户的数据库扩展指令;所述数据库扩展指令包括:数据库类型;
确定所述数据库类型与所述低代码开发平台预先设置的通用数据库是匹配;
在所述数据库类型与所述通用数据库不匹配的情况下,生成第一提示信息并向所述用户进行展示;
其中,所述第一提示信息用于指示所述用户进行第一操作。
6.根据权利要求2所述的方法,其特征在于,在基于用户的第二操作,构建扩展数据库字段类型适配描述文件之前,所述方法还包括:
在构建所述扩展SQL语句描述文件之后,生成第二提示信息并向所述用户进行展示;所述第二提示信息用于表示是否需要构建构建扩展数据库字段类型适配描述文件;
基于所述用户根据所述第二提示信息进行的操作,获取确定信息;
并根据所述确定信息,接收用户的第二操作。
7.一种低代码开发平台的数据库扩展的设备,其特征在于,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
基于用户的第一操作,构建扩展SQL语句描述文件并进行存储;所述扩展SQL语句描述文件用于表示扩展数据库SQL语句的获取方法;
获取所述低代码开发平台预先设置的通用SQL语句描述文件;所述通用SQL语句描述文件用于表示通用数据库SQL语句的获取方法;
所述扩展SQL语句描述文件对应的扩展数据库,与所述通用SQL语句描述文件对应的通用数据库的数据库类型不同;
将所述扩展SQL语句描述文件继承所述通用SQL语句描述文件,并复写所述通用SQL语句描述文件中对应的获取方法;
将所述扩展SQL语句描述文件继承所述通用SQL语句描述文件,并复写所述用SQL语句描述文件中对应的获取方法,具体包括:
确定所述扩展SQL语句描述文件中的语句是否与所述通用SQL语句描述文件中相应的语句匹配;
将扩展SQL语句描述文件中不匹配的语句作为待继承语句;
将所述待继承语句继承所述通用SQL语句描述文件中相应的语句,并复写所述待继承语句继承的所述通用SQL语句描述文件的语句的获取方法;
根据构建的扩展SQL语句描述文件,生成相应的第一配置文件并存储;其中,所述第一配置文件包括:扩展数据库的数据库类型,扩展SQL语句文件的类全名;
确定所述第一配置文件与所述扩展SQL语句描述文件的第一关联关系,并将所述第一关联关系进行存储,以实现对所述低代码开发平台的数据库的扩展;
在接收到数据库运行指令的情况下,根据所述数据库运行指令中的当前环境的数据库类型,确定相应的第一配置文件;
基于所述第一配置文件,确定相应的扩展SQL语句描述文件;
基于所述相应的扩展SQL语句描述文件,以执行相应的通用SQL语句描述文件,以实现执行相应的数据库的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110218294.5A CN112905624B (zh) | 2021-02-26 | 2021-02-26 | 一种低代码开发平台的数据库扩展方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110218294.5A CN112905624B (zh) | 2021-02-26 | 2021-02-26 | 一种低代码开发平台的数据库扩展方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112905624A CN112905624A (zh) | 2021-06-04 |
CN112905624B true CN112905624B (zh) | 2023-01-20 |
Family
ID=76108486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110218294.5A Active CN112905624B (zh) | 2021-02-26 | 2021-02-26 | 一种低代码开发平台的数据库扩展方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905624B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656433B (zh) * | 2021-08-16 | 2023-09-05 | 北京京东振世信息技术有限公司 | 实体对象扩展方法、装置、电子设备和存储介质 |
CN114089962B (zh) * | 2021-11-18 | 2024-09-20 | 浪潮通用软件有限公司 | 一种构件管理方法、设备及介质 |
CN114237699B (zh) * | 2022-02-24 | 2022-05-03 | 四川信用通数字科技股份有限公司 | 一种配置脚本的导出方法、装置及存储介质 |
CN114528051B (zh) * | 2022-02-24 | 2024-05-24 | 浪潮通用软件有限公司 | 基于引擎平台处理业务流程的方法、系统、设备及介质 |
CN115080003A (zh) * | 2022-06-10 | 2022-09-20 | 北京达佳互联信息技术有限公司 | 零代码平台的运行方法、装置、电子设备及存储介质 |
CN115203176B (zh) * | 2022-09-15 | 2023-03-07 | 太平金融科技服务(上海)有限公司深圳分公司 | 数据库操作方法、装置、设备、存储介质和程序产品 |
CN117391002B (zh) * | 2023-10-23 | 2024-05-17 | 苏州异格技术有限公司 | 一种ip核扩展描述方法及ip核生成方法 |
CN117193750B (zh) * | 2023-11-08 | 2024-03-15 | 深圳大数信科技术有限公司 | 一种基于CraphQL的全栈低代码平台实现方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844643A (zh) * | 2017-01-13 | 2017-06-13 | 王洋 | 一种基于模板引擎的数据库动态生成方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9372902B2 (en) * | 2011-09-23 | 2016-06-21 | International Business Machines Corporation | Accessing and editing virtually-indexed message flows using structured query langauge (SQL) |
CN103226478B (zh) * | 2013-05-22 | 2016-12-28 | 北京金和软件股份有限公司 | 一种自动生成并使用代码的方法 |
CN104615713A (zh) * | 2015-02-05 | 2015-05-13 | 浪潮通用软件有限公司 | 一种基于多数据库类型的sql执行方法和装置 |
CN106095792A (zh) * | 2016-05-27 | 2016-11-09 | 中国银联股份有限公司 | 生成数据库操作代码的方法和装置 |
CN107832448A (zh) * | 2017-11-22 | 2018-03-23 | 泰康保险集团股份有限公司 | 数据库操作方法、装置及设备 |
CN110489401B (zh) * | 2019-08-26 | 2022-12-27 | 浪潮通用软件有限公司 | 一种数据库对象的部署方法及装置 |
CN111241065B (zh) * | 2020-01-13 | 2024-01-30 | 大汉软件股份有限公司 | 一种支持国产数据库的数据库适配开发与操作方法 |
-
2021
- 2021-02-26 CN CN202110218294.5A patent/CN112905624B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844643A (zh) * | 2017-01-13 | 2017-06-13 | 王洋 | 一种基于模板引擎的数据库动态生成方法 |
Non-Patent Citations (1)
Title |
---|
数据库自动设计工具DBADT;邓本江等;《航天工艺》;19970617(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112905624A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112905624B (zh) | 一种低代码开发平台的数据库扩展方法及设备 | |
CN106649788B (zh) | 一种数据库数据传输方法与装置 | |
CN106951231B (zh) | 一种计算机软件开发方法及装置 | |
CN108170656A (zh) | 模板创建方法、文档创建方法、渲染方法和装置 | |
US20100192124A1 (en) | Source code wrapper generation | |
CN104182484A (zh) | 一种实现HBase数据与Java域对象映射的方法和装置 | |
CN110889272A (zh) | 数据处理方法、装置、设备及存储介质 | |
WO2017036348A1 (zh) | 一种可扩展标记语言xml文档的压缩、解压方法和装置 | |
CN108037967A (zh) | 一种基于多父子结构的菜单加载方法以及电子设备 | |
CN114968214B (zh) | 代码自动生成方法、装置、存储介质及终端设备 | |
CN108446398A (zh) | 一种数据库的生成方法及装置 | |
CN113778445A (zh) | 一种跨平台组件生成方法、装置、电子设备及存储介质 | |
CN113672204A (zh) | 一种接口文档生成方法、系统、电子设备及存储介质 | |
CN115599764A (zh) | 一种表格数据的迁移方法、设备及介质 | |
CN106776779B (zh) | 基于Mac平台的JSON数据生成实体文件的方法 | |
CN111984666B (zh) | 数据库访问方法、装置、计算机可读存储介质和计算机设备 | |
CN113703777B (zh) | 基于数据库表的代码生成方法、装置、存储介质和设备 | |
CN112328241B (zh) | 一种应用程序开发中创建Android库模块依赖关系的方法及装置 | |
CN111078213A (zh) | 一种代码生成方法及代码生成装置 | |
CN107273425B (zh) | 一种基于orm框架的数据库开发方法及装置 | |
CN110554867B (zh) | 一种应用程序的处理方法和装置 | |
CN110780863B (zh) | 一种存储系统的跨平台开发方法、装置、设备及介质 | |
WO2017071777A1 (en) | Generation of a data type code value for a data type | |
CN112015702A (zh) | 一种报文文件名处理方法、装置及设备 | |
CN110362595A (zh) | 一种sql语句动态解析方法 |
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 |