CN115712413B - 低代码开发方法、装置、设备及存储介质 - Google Patents
低代码开发方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115712413B CN115712413B CN202211431220.0A CN202211431220A CN115712413B CN 115712413 B CN115712413 B CN 115712413B CN 202211431220 A CN202211431220 A CN 202211431220A CN 115712413 B CN115712413 B CN 115712413B
- Authority
- CN
- China
- Prior art keywords
- entity
- data table
- target application
- mapper
- configuring
- 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
- 238000011161 development Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 230000000007 visual effect Effects 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 78
- 238000004590 computer program Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 14
- 238000013515 script Methods 0.000 claims description 9
- 238000013461 design Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 6
- 230000008676 import Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000000465 moulding Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 240000005926 Hamelia patens Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000008719 thickening Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种低代码开发方法、装置、设备及存储介质,所述方法包括:根据当前业务需求通过数据表设计器进行数据表和表字段的配置,生成Entity和Mapper实体类并热部署于目标应用中;基于所述当前业务需求创建所述目标应用的功能模块,并对所述功能模块的基础属性进行配置,并通过可视化界面设计器对所述目标应用进行界面布局配置;基于所述当前业务需求通过功能设计器进行事件明细信息配置,并根据预存的事件类型与后端代码的对应关系对所述事件明细信息进行关联控制;响应于应用开发配置完成操作指令,生成所述目标应用的应用文件。通过本发明能够有效提高低代码开发的效率。
Description
技术领域
本发明涉及低代码开发技术领域,尤其是涉及一种低代码开发方法、装置、设备及存储介质。
背景技术
随着科学技术的发展,低代码开发方法主要分为两类,一类是通过搭建软件基础框架,通过不断的积累将实际生产过程中常用的功能组件形成一个个组件包并分门别类存储,当需要的时候将组件纳入到软件框架中,根据业务需求进行适应性调整,最终通过编译打包的形式,实现软件系统的发布和使用;另一类是通过低代码开发平台进行开发,低代码平台通过封装组件和搭建可视化平台实现业务代码的生成,最后通过编译生成的代码实现软件系统的发布和使用。
通过搭建基础框架和积累组件的低代码开发方法,类似于传统SOA插件式开发构架,开发人员只需通过历史的组件包里检索组件并插入到框架中并做部分适配,即可实现相关功能。
通过低代码开发平台开发,一般是应用系统作为运行环境,在环境上进行配置的设置功能,通过可视化手段搭建功能界面,最后通过模版生成前端网页代码及后端逻辑代码,生成后的代码通过编译打包后形成新的系统。
在实践过程中,申请人发现上述现有技术存在以下问题:
1、在新建业务功能时,需要在低代码开发平台上根据业务需在表生成工具中配置好相关表单内容,在生成创建数据库的脚本、对应Java实体类的Entity和Mapper文件后,需要开发人员手动在数据库中导入数据库脚本来建立数据表和将Entity和Mapper文件导入到应用代码中并编译打包,通过此方法后方可在低代码开发平台上使用对应的表单字段并进行设置,实现后续业务功能。此种生成数据库和Java实体类的方法,需要开发人员具备一定的计算机能力,且需要重新编译发布,在一定程度上会影响开发实施效率。
2、在面向业务功能开发时,是通过可视化界面拖拉拽生成对应前端业务界面,界面内容主要为设置表单界面,可根据需要定制化设计功能界面,但对于功能列表界面由低代码平台自动生成,无法做到定制化或拓展。此技术上,一般采用Mybatis Plus开源组件中模版化工具生成,在搭建界面前需要预设好相关的模版文件,一旦需要新增布局需要修改底层模版文件,不便于运维,需要开发人员具备前后端技术栈水平,不不利于快速项目实施和交付。由于缺少模版生成界面,其拓展将会收到限制,且生成后无法做到马上生效需要编辑发布方可使用,不利于快速迭代开发。
3、在面向业务开发过程中,在将需求转换为计算机语言时,按照传统模式是编写数据库设计、界面原型、流程业务等一些列内容,而市面上的低代码开发平台一般将课件数据库设计、原型设计融合一身,但是在设计完成后无法做到直观查看业务原型或业务功能状态,不利于项目实施应用。
综上所述,现有的低代码开发技术存在开发效率低下的问题。
发明内容
本发明旨在提供一种低代码开发方法、装置、设备及存储介质,以解决上述至少一个技术问题,从而能够提高低代码开发的效率。
为了解决上述技术问题,本发明提供了一种低代码开发方法,包括:
根据当前业务需求通过数据表设计器进行数据表和表字段的配置,生成Entity和Mapper实体类并热部署于目标应用中;
基于所述当前业务需求创建所述目标应用的功能模块,并对所述功能模块的基础属性进行配置,并通过可视化界面设计器对所述目标应用进行界面布局配置;
基于所述当前业务需求通过功能设计器进行事件明细信息配置,并根据预存的事件类型与后端代码的对应关系对所述事件明细信息进行关联控制;
响应于应用开发配置完成操作指令,生成所述目标应用的应用文件。
进一步地,所述根据当前业务需求通过数据表设计器进行数据表和表字段的配置,生成Entity和Mapper实体类并热部署于目标应用中,包括:
根据当前业务需求通过数据表设计器进行数据表和表字段的配置,并基于所述数据表和表字段的配置参数对系统中间库与物理数据库进行合法性校验;
当判断所述物理数据库中已存在所述数据表和表字段,且所述系统中间库不存在所述数据表和表字段时,将所述物理数据库中的数据表和表字段同步至所述系统中间库,并基于所述数据表和表字段的配置参数生成Entity和Mapper实体类并热部署于目标应用中;
当判断所述物理数据库中未存在所述数据表和表字段时,将所述数据表和表字段的配置参数存储至所述系统中间库,同时在物理数据库创建所述数据表和表字段,并基于所述数据表和表字段的配置参数生成Entity和Mapper实体类并热部署于目标应用中。
进一步地,所述Entity和Mapper实体类的生成方式包括:
基于配置好的数据表和表字段参数对在前端预设好的逻辑模型进行填充,形成完整前端模型,将所述完整前端模型的接口发送给后端,以使所述后端通过Java代码实现所述Entity和Mapper实体类的生成以及SQL脚本的执行。
进一步地,所述热部署的实现方式包括:
通过JavaCompiler工具类将所述完整前端模型生成java文件并编译成class文件,通过将class文件重新注册到后台缓存中,以使所述Entity和Mapper实体类可在所述目标应用中进行调用。
进一步地,所述基于所述当前业务需求创建所述目标应用的功能模块,并对所述功能模块的基础属性进行配置,还包括:
在完成对所述功能模块的基础属性进行配置之后,基于所述功能模块的功能字段明细以及预存的数据来源对所述数据表和表字段的配置参数进行匹配,并将匹配到的数据表和表字段的配置参数引入至所述功能模块中。
进一步地,在所述将匹配到的数据表和表字段的配置参数引入至所述功能模块中之后,还包括:
基于所述当前业务需求对所述功能模块中的控件进行配置。
进一步地,所述的低代码开发方法还包括:
通过预设的数据库表单对应用开发过程中的关键信息、界面展示逻辑信息和业务逻辑信息进行存储,并基于所述数据库表单中存储的数据构建菜单体系;
在所述目标应用的开发过程中,基于所述目标应用配置的功能ID从所述菜单体系中获取相应的业务逻辑模板进行业务逻辑实现。
本发明还提供一种低代码开发装置,包括:
数据表配置模块,用于根据当前业务需求通过数据表设计器进行数据表和表字段的配置,生成Entity和Mapper实体类并热部署于目标应用中;
功能及界面配置模块,用于基于所述当前业务需求创建所述目标应用的功能模块,并对所述功能模块的基础属性进行配置,并通过可视化界面设计器对所述目标应用进行界面布局配置;
事件明细配置模块,用于基于所述当前业务需求通过功能设计器进行事件明细信息配置,并根据预存的事件类型与后端代码的对应关系对所述事件明细信息进行关联控制;
应用生成模块,用于响应于应用开发配置完成操作指令,生成所述目标应用的应用文件。
本发明还提供一种终端设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现任一项所述的低代码开发方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现任一项所述的低代码开发方法。
与现有技术相比,本发明具有如下有益效果:
本发明提供了一种低代码开发方法、装置、设备及存储介质,所述方法包括:根据当前业务需求通过数据表设计器进行数据表和表字段的配置,生成Entity和Mapper实体类并热部署于目标应用中;基于所述当前业务需求创建所述目标应用的功能模块,并对所述功能模块的基础属性进行配置,并通过可视化界面设计器对所述目标应用进行界面布局配置;基于所述当前业务需求通过功能设计器进行事件明细信息配置,并根据预存的事件类型与后端代码的对应关系对所述事件明细信息进行关联控制;响应于应用开发配置完成操作指令,生成所述目标应用的应用文件。通过本发明能够有效提高低代码开发的效率。
附图说明
图1是本发明提供的低代码开发方法的流程示意图;
图2是本发明提供的数据表设计的流程示意图;
图3是本发明提供的功能及界面设计的流程示意图;
图4是本发明提供的低代码开发方法的整体逻辑关系示意图;
图5是本发明提供的低代码开发装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,本发明实施例提供了一种低代码开发方法,可以包括步骤:
S1、根据当前业务需求通过数据表设计器进行数据表和表字段的配置,生成Entity和Mapper实体类并热部署于目标应用中;
S2、基于所述当前业务需求创建所述目标应用的功能模块,并对所述功能模块的基础属性进行配置,并通过可视化界面设计器对所述目标应用进行界面布局配置;
S3、基于所述当前业务需求通过功能设计器进行事件明细信息配置,并根据预存的事件类型与后端代码的对应关系对所述事件明细信息进行关联控制;
S4、响应于应用开发配置完成操作指令,生成所述目标应用的应用文件。
在本发明实施例中,进一步地,所述根据当前业务需求通过数据表设计器进行数据表和表字段的配置,生成Entity和Mapper实体类并热部署于目标应用中,包括:
根据当前业务需求通过数据表设计器进行数据表和表字段的配置,并基于所述数据表和表字段的配置参数对系统中间库与物理数据库进行合法性校验;
当判断所述物理数据库中已存在所述数据表和表字段,且所述系统中间库不存在所述数据表和表字段时,将所述物理数据库中的数据表和表字段同步至所述系统中间库,并基于所述数据表和表字段的配置参数生成Entity和Mapper实体类并热部署于目标应用中;
当判断所述物理数据库中未存在所述数据表和表字段时,将所述数据表和表字段的配置参数存储至所述系统中间库,同时在物理数据库创建所述数据表和表字段,并基于所述数据表和表字段的配置参数生成Entity和Mapper实体类并热部署于目标应用中。
在本发明实施例中,进一步地,所述Entity和Mapper实体类的生成方式包括:
基于配置好的数据表和表字段参数对在前端预设好的逻辑模型进行填充,形成完整前端模型,将所述完整前端模型的接口发送给后端,以使所述后端通过Java代码实现所述Entity和Mapper实体类的生成以及SQL脚本的执行。
在本发明实施例中,进一步地,所述热部署的实现方式包括:
通过JavaCompiler工具类将所述完整前端模型生成java文件并编译成class文件,通过将class文件重新注册到后台缓存中,以使所述Entity和Mapper实体类可在所述目标应用中进行调用。
在本发明实施例中,进一步地,所述基于所述当前业务需求创建所述目标应用的功能模块,并对所述功能模块的基础属性进行配置,还包括:
在完成对所述功能模块的基础属性进行配置之后,基于所述功能模块的功能字段明细以及预存的数据来源对所述数据表和表字段的配置参数进行匹配,并将匹配到的数据表和表字段的配置参数引入至所述功能模块中。
在本发明实施例中,进一步地,在所述将匹配到的数据表和表字段的配置参数引入至所述功能模块中之后,还包括:
基于所述当前业务需求对所述功能模块中的控件进行配置。
在本发明实施例中,进一步地,所述的低代码开发方法还包括:
通过预设的数据库表单对应用开发过程中的关键信息、界面展示逻辑信息和业务逻辑信息进行存储,并基于所述数据库表单中存储的数据构建菜单体系;
在所述目标应用的开发过程中,基于所述目标应用配置的功能ID从所述菜单体系中获取相应的业务逻辑模板进行业务逻辑实现。
需要说明的是,现有的低代码开发技术中,存在以下几点问题:
1、生成数据库表单及对应Java实体类:
在新建业务功能时,需要在低代码开发平台上根据业务需在表生成工具中配置好相关表单内容,通过“一键生成”功能实现生成创建数据库的脚本、对应Java实体类的Entity和Mapper文件,而后需要开发人员手动在数据库中导入数据库脚本来建立数据表和将Entity和Mapper文件导入到应用代码中并编译打包,通过此方法后方可在低代码开发平台上使用对应的表单字段并进行设置,实现后续业务功能。此种生成数据库和Java实体类的方法,需要开发人员具备一定的计算机能力,且需要重新编译发布,在一定程度上会影响开发实施效率。
另外一种形式上,将需要的业务单据所需要的字段都存储在中间表中,业务功能需要的情况下通过引用中间表字段实现业务功能开发。此种方案虽解决了重新编译发布开发不便的问题,但会带来拓展不便利的问题,主要体现在业务拓展项和关联查询上,一旦业务功能增加数据库字段和数据就会急剧增加,会影响查询性能及表单之间的组合关系会非常复杂,容易出错,无法做到业务数据隔离和唯一性判断。
2、业务开发可视化操作,通过系统配置生成业务功能界面和业务逻辑:
市面上的低代码开发平台,在面向业务功能开发时,是通过可视化界面拖拉拽生成对应前端业务界面,界面内容主要为设置表单界面,可根据需要定制化设计功能界面,但对于功能列表界面由低代码平台自动生成,无法做到定制化或拓展。
此技术上,一般采用Mybatis Plus开源组件中模版化工具生成,在搭建界面前需要预设好相关的模版文件,一旦需要新增布局需要修改底层模版文件,不便于运维,需要开发人员具备前后端技术栈水平,不不利于快速项目实施和交付。由于缺少模版生成界面,其拓展将会收到限制,且生成后无法做到马上生效需要编辑发布方可使用,不利于快速迭代开发。
3、业务设计完成后需要实时生效,无需重新编辑和发布应用:
市场往往需要在业务功能设计完成后只需要点击保存即可将业务发布到应用系统中并可直观体验,这样业务人员可快速确认需求,可极大提升实施效率。但市面上在面向业务开发过程中,在将需求转换为计算机语言时,按照传统模式是编写数据库设计、界面原型、流程业务等一些列内容,而市面上的低代码开发平台一般将课件数据库设计、原型设计融合一身,但是在设计完成后无法做到直观查看业务原型或业务功能状态,不利于项目实施应用。
请参见图2至图4,基于上述方案,为便于更好的理解本发明实施例提供的低代码开发方法,以下进行详细说明:
为了解决上述技术问题,本发明实施例可以通过以下步骤实现:
1.针对数据库维护和创建,提供Web端可视化配置界面,通过修改、同步、新增等操作,实现设计业务数据库。如图2所示,具体包括:
1.1.用户根据业务需求在数据库代码生成模块中配置业务需要的表字段,设置参数将被记录到系统中间库中,中间库与物理数据库进行合法性校验,判断物理数据库中的表或表字段是否已存在,如中间库与物理数据库存在差异,系统进行状态标识,根据不同状态进行不同操作;
1.2.如物理数据库中已存在业务表和表字段,而中间库中不存在,那么通过一键同步功能将物理数据库中的表和表字段同步到中间库中,通过“提交配置”功能生成对应的Entity和Mapper实体类并热部署于应用中;
1.3.如物理数据库中未存在业务表和表字段,通过数据库代码生成模块配置表和表字段并存储于中间库中,通过“提交配置”功能在物理数据库中建立数据表和表字段并生成Entity和Mapper实体类并热部署于应用中;
1.4.生成后的Entity和Mapper可被业务功能或后续其他业务实体代码类中引用,此过程中无需编译和发布应用;
1.5.实体类生成逻辑如下:通过前端预设好的逻辑模型并根据配置的参数填充形成完整前端模型,最后通过接口发送给后端,通过Java代码实现对应实体类生成和SQL脚本的执行操作;
1.6.热部署逻辑如下:通过JavaCompiler工具类将模型生成java文件并编译成class文件,通过将class文件重新注册到后台缓存中,实现实体类注册并可在应用中进行调用。
2.通过可视化配置手段,创建业务功能、绑定业务表和表字段,根据业务需求配置界面按钮、布局和事件,实现业务功能,生成界面后直接生效和使用,无需编译发布。如图3所示,具体包括:
2.1.根据业务需求创建功能模块,并在功能模块配置中设置功能图标、名称、功能类型(包括:树形【功能中可呈现树形结构】、主功能【通用列表-表单布局】、选择窗口【用于设计表单中涉及需要弹窗显示的功能】、子功能【用于关联主功能的子功能,一般来说主功能为主要信息,子功能为与之有关联性的其他信息如附件、明细等】、表单子功能【用于在表单中穿插子功能,使之功能布局更加清晰】)、所属模块(用于关联菜单)、是否可配置权限(用于在功能权限配置中是否呈现)、子功能(用于配置关联的子功能)、布局页面路径(为低代码平台预设的通用模版,包含有一般布局【列表】、树形布局【树形列表】、树形tab布局【树形列表+表单】、表格tab布局【列表+表单】、iframe布局【嵌入第三方应用界面】、左右grid布局【双列表关联布局】、表单tab布局【表单+子表布局】、父子树形布局【多数展示布局】、左右grid-form布局【同一界面左侧为列表,右侧为表单】、表单插入子表布局【主表中可随意插入子表】、复合表头布局【列表多表头】、表单子功能布局【用于设计子功能】、表单子功能复合表头布局【用于设计子功能列表多表头】、表单向导布局【分布执行】、业务向导布局【业务流程可视化】、子功能向导布局【通过子功能实现业务向导】)、Grid页面路径(列表界面)、Form页面路径(表单界面)、Approve页面路径(针对特殊场景的审批表单界面,可配置为红头文或不同表格样式)、获取数据方法(前后端请求方式,一般采用默认方式,如需对接第三方或自定义接口需要在此配置)、事件显示数量(配置界面中按钮的显示数量,超过则缩略显示)、数据源(数据来源,支持其他数据库对接)、数据表(功能绑定的数据表,数据来源于数据表设计器)、主键列(功能主键)、外键字段(子功能关联字段)、From语句(后台查询的表,可配置连表查询)、Where语句(查询条件)、Order by语句(配置排序条件)、复核字段(用于审批)、自定义Modal页面路径(自定义弹框设计)、自定义js界面路径(配置前端特殊业务逻辑)、其他自定义参数(用于配置布局中的特殊配置,如配置是否单选、默认打开树层级、grid/form界面均可编辑、树形宽度、表单是否显示树形、按钮位置位置设置、分页配置、子表统计赋值给主表、向导风格);
2.2.功能模块基础属性配置完成后,引入功能字段明细,数据来源于数据源+数据表,根据这两个字段匹配数据表设计器中的表配置,引入到此功能中。引入成功后根据业务需要进行控件定义,包括:配置字段名称、字段类型(文本控件、数值控件、下拉控件、选择窗口、复选框、日期控件【无秒、仅时间、年份、月份、有秒、时间范围】、密码控件、多选选择窗口、可编辑选择窗口【可编辑选中的值】、按钮选择窗口、按钮下拉控件、图片控件、富文本控件、cron表达式控件、文件控件【用于上传文件】、按钮多选下拉、开关控件、评分控件、滑块控件、单选框、二维码控件、金额控件、输入联想控件、横向/纵向时间轴控件、下拉可过滤控件、输入可过滤控件、下拉可输入控件、级联下拉控件、多选穿梭框控件)、默认值(设置字段的默认值)、字段是否可编辑、字段是否可修改、字段是否必填、字段是否唯一、字段是否为统计列、统计过滤类型(平均值、汇总)、小数点保留位数、是否为查询字段、显示格式(与数据字典关联)、控件名称(复杂控件实现绑定)、显示位置(文本显示位置)、控件参数-源(控件需要选择传入的字段值)、控件参数-目标(控件传入的数据需要设置到当前表单中的字段名称)、控件参数-where(传入的条件)、最大字符长度(前端可输入长度)、自动编码方式(不自动编码、来自class【自定义后台类】、按月流水号、全表流水号、sql编码、uuid号、随机号、来自字段+流水号、二级单位编码+按月流水)、编码前缀、编码长度、自定义方法(是否点击进入form)、自定义查询排序、角色加密配置【可根据访问用户的角色不同对字段进行脱敏处理】,配置完成后即可通过界面设计器设计列表、表单、审批表单界面;
2.3.用户根据业务需要设计列表、表单、审批表单界面,界面设计器采用可视化“拖拉拽”形式实现,允许用户根据自身需要定制界面布局,列表支持常规表格(引入字段、排序并设置宽度即可预览效果图【此处采用前端动态渲染并呈现给用户,如需调整可根据需要配置实现】)、组合表头设计(采用树形方式设计表头,根据树形结构转换成组合表头,有前端渲染呈现给用户),用户根据特殊业务需求(如某几个字段需要加粗、底色改变等)可通过自定义js编辑配置业务界面效果;表单采用Html5中dragable属性创建画布,提供给业务用户设计表单界面,通过引入字段、界面布局设计、分类框设计、引入子功能、引入表格、确定列数等操作,实现表单界面的整体布局,同时根据业务的需要可通过自定义js实现特定的表单交互效果;审批表单采用Html5中dragable属性创建画布,用户根据审批需要设置审批表单,通过引入字段、界面布局设计等操作实现审批表单整体布局。
2.4.根据业务需要在功能设计器中配置事件明细,并确定在何种界面中显示(grid【列表】、form【表单】、subform【子表】、query【查询】),并可配置按钮的位置【左中右上下】及显示状态。同时,系统预设有多种事件类型并绑定好前后端代码,业务需要时只需引入即可(系统预设有“上一条”、“下一条”、“提交”、“删除”、“复制”、“保存”、“审批”、“附件上传”、“打印”、“导入excel”、“清除”、“反提交”、“下载附件”等多种事件,用户根据业务要直接引入即可,无需编写前后端代码)。
2.5.在上述操作完成并点击保存后,在菜单体系中引入功能即可即时生效。由于上述操作中,界面设计后会经由后端java逻辑(根据通用模版的模型算法对界面进行自动编写和生成文件)生成后保存到指定路径,相关业务逻辑由系统封装好的前后端方法(如保存、新增、删除等)绑定并存储在数据库中。当用户发起业务时,界面根据功能id查询系统后台表,根据功能表中的逻辑关系对界面进行渲染和查询操作,前端收到响应后渲染界面呈现出按钮、列表、表单、审批表单等;由于通用按钮事件均为封装好的、可配置的事件,故在不同业务过程中可实现不同的作用(如提交事件,通过配置入参值可实现对界面中某个字段的修改变化,无需编写后台代码)。
请参见图4,需要说明的是,整个业务开发过程中,除必须与数据库形成关联关系的实体类(Entity及Mapper)外,关键信息及界面展示逻辑、业务逻辑均存储于系统中的数据库表单中,应用根据表单中的数据构造菜单体系,菜单根据功能ID获取该功能的所有业务逻辑,包含业务显示的界面布局、可操作按钮、可编辑字段及其与其他业务功能的关联关系或业务逻辑,过程中除复杂业务逻辑需要编写代码外,均可通过配置实现,没有形成新的实体类。因此,在面向业务或实施人员时,用户仅需掌握较低的开发基础即可快速上手,按照业务需要快速定制和开发。
与现有技术相比,本发明实施例具有如下有益效果:
1.由于业务逻辑是基于可视化配置而来,且业务逻辑信息存储于数据库,在业务实现上则有更多的组合,摆脱了以为实施项目时编写完业务逻辑后需要重新打包编译才能生效的模式,极大提高的实施效率。由于采用的是低代码开发模式,业务人员也可看懂,业务人员可根据自身需要按需调整界面布局或业务逻辑,无需编写前后端代码。
2.本发明实施例采用可视化手段,通过使用热加载热部署的技术手段,使必要的实体类生成后可直接内部编译并生效,无需重启,极大提供了实施效率。
3.基于dragable属性的界面设计器,允许用户使用拖拉拽或参数配置形式设计界面,所看到的界面即为实际业务界面,在感官和交互上提升了便利性,原型设计也可使用此工具设计。为业务、产品、开发提供了良好强大的原型设计工具,更加便于业务设计开发。
4.采用Thymeleaf模版框架,使前后端的交互更加紧密,预设有多样的事件类型和表单控件组件,为业务开发提供了强有力的支撑。字段切换展示类型(如输入框改为下拉框)进行配置并生成界面即可,无需开发,可极大提高效率。
5.可视化的表建模设计器,让运维人员可在web端操作数据库,无需再另外连接操作,加之双向反馈的设计,可保证数据库与应用系统实体类的一致性,提高了数据安全性。
需要说明的是,对于以上方法或流程实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本发明实施例所必须的。
请参见图5,本发明实施例还提供一种低代码开发装置,包括:
数据表配置模块1,用于根据当前业务需求通过数据表设计器进行数据表和表字段的配置,生成Entity和Mapper实体类并热部署于目标应用中;
功能及界面配置模块2,用于基于所述当前业务需求创建所述目标应用的功能模块,并对所述功能模块的基础属性进行配置,并通过可视化界面设计器对所述目标应用进行界面布局配置;
事件明细配置模块3,用于基于所述当前业务需求通过功能设计器进行事件明细信息配置,并根据预存的事件类型与后端代码的对应关系对所述事件明细信息进行关联控制;
应用生成模块4,用于响应于应用开发配置完成操作指令,生成所述目标应用的应用文件。
可以理解的是上述装置项实施例,是与本发明方法项实施例相对应的,本发明实施例提供的一种低代码开发装置,可以实现本发明任意一项方法项实施例提供的低代码开发方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现任一项所述的低代码开发方法。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
所述领域的技术人员可以清楚地了解到,为了方便和简洁,上述描述的装置的具体工作过程,可参考前述方法实施例中对应的过程,在此不再赘述。
终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
所述存储器可用于存储所述计算机程序,所述处理器通过运行或执行存储在所述存储器内的计算机程序,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述存储介质为计算机可读存储介质,所述计算机程序存储在所述计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (8)
1.一种低代码开发方法,其特征在于,包括:
根据当前业务需求通过数据表设计器进行数据表和表字段的配置,生成Entity和Mapper实体类并热部署于目标应用中;其中,所述Entity和Mapper实体类的生成方式,包括:基于配置好的数据表和表字段参数对在前端预设好的逻辑模型进行填充,形成完整前端模型,将所述完整前端模型的接口发送给后端,以使所述后端通过Java代码实现所述Entity和Mapper实体类的生成以及SQL脚本的执行;所述热部署的方式,包括:通过JavaCompiler工具类将所述完整前端模型生成java文件并编译成class文件,通过将class文件重新注册到后台缓存中,以使所述Entity和Mapper实体类可在所述目标应用中进行调用;
基于所述当前业务需求创建所述目标应用的功能模块,并对所述功能模块的基础属性进行配置,并通过可视化界面设计器对所述目标应用进行界面布局配置;
基于所述当前业务需求通过功能设计器进行事件明细信息配置,并根据预存的事件类型与后端代码的对应关系对所述事件明细信息进行关联控制;
响应于应用开发配置完成操作指令,生成所述目标应用的应用文件。
2.根据权利要求1所述的低代码开发方法,其特征在于,所述根据当前业务需求通过数据表设计器进行数据表和表字段的配置,生成Entity和Mapper实体类并热部署于目标应用中,包括:
根据当前业务需求通过数据表设计器进行数据表和表字段的配置,并基于所述数据表和表字段的配置参数对系统中间库与物理数据库进行合法性校验;
当判断所述物理数据库中已存在所述数据表和表字段,且所述系统中间库不存在所述数据表和表字段时,将所述物理数据库中的数据表和表字段同步至所述系统中间库,并基于所述数据表和表字段的配置参数生成Entity和Mapper实体类并热部署于目标应用中;
当判断所述物理数据库中未存在所述数据表和表字段时,将所述数据表和表字段的配置参数存储至所述系统中间库,同时在物理数据库创建所述数据表和表字段,并基于所述数据表和表字段的配置参数生成Entity和Mapper实体类并热部署于目标应用中。
3.根据权利要求1所述的低代码开发方法,其特征在于,所述基于所述当前业务需求创建所述目标应用的功能模块,并对所述功能模块的基础属性进行配置,还包括:
在完成对所述功能模块的基础属性进行配置之后,基于所述功能模块的功能字段明细以及预存的数据来源对所述数据表和表字段的配置参数进行匹配,并将匹配到的数据表和表字段的配置参数引入至所述功能模块中。
4.根据权利要求3所述的低代码开发方法,其特征在于,在所述将匹配到的数据表和表字段的配置参数引入至所述功能模块中之后,还包括:
基于所述当前业务需求对所述功能模块中的控件进行配置。
5.根据权利要求1所述的低代码开发方法,其特征在于,还包括:
通过预设的数据库表单对应用开发过程中的关键信息、界面展示逻辑信息和业务逻辑信息进行存储,并基于所述数据库表单中存储的数据构建菜单体系;
在所述目标应用的开发过程中,基于所述目标应用配置的功能ID从所述菜单体系中获取相应的业务逻辑模板进行业务逻辑实现。
6.一种低代码开发装置,其特征在于,包括:
数据表配置模块,用于根据当前业务需求通过数据表设计器进行数据表和表字段的配置,生成Entity和Mapper实体类并热部署于目标应用中;其中,所述Entity和Mapper实体类的生成方式,包括:基于配置好的数据表和表字段参数对在前端预设好的逻辑模型进行填充,形成完整前端模型,将所述完整前端模型的接口发送给后端,以使所述后端通过Java代码实现所述Entity和Mapper实体类的生成以及SQL脚本的执行;所述热部署的方式,包括:通过JavaCompiler工具类将所述完整前端模型生成java文件并编译成class文件,通过将class文件重新注册到后台缓存中,以使所述Entity和Mapper实体类可在所述目标应用中进行调用;
功能及界面配置模块,用于基于所述当前业务需求创建所述目标应用的功能模块,并对所述功能模块的基础属性进行配置,并通过可视化界面设计器对所述目标应用进行界面布局配置;
事件明细配置模块,用于基于所述当前业务需求通过功能设计器进行事件明细信息配置,并根据预存的事件类型与后端代码的对应关系对所述事件明细信息进行关联控制;
应用生成模块,用于响应于应用开发配置完成操作指令,生成所述目标应用的应用文件。
7.一种终端设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的低代码开发方法。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述的低代码开发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211431220.0A CN115712413B (zh) | 2022-11-15 | 2022-11-15 | 低代码开发方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211431220.0A CN115712413B (zh) | 2022-11-15 | 2022-11-15 | 低代码开发方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115712413A CN115712413A (zh) | 2023-02-24 |
CN115712413B true CN115712413B (zh) | 2024-04-19 |
Family
ID=85233292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211431220.0A Active CN115712413B (zh) | 2022-11-15 | 2022-11-15 | 低代码开发方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115712413B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301856B (zh) * | 2023-03-07 | 2023-08-29 | 浪潮智慧科技有限公司 | 一种可视化表单设计器的设计方法、装置、设备及介质 |
CN116126348B (zh) * | 2023-04-17 | 2023-07-07 | 函子科技(杭州)有限公司 | 一种实时预览的低代码应用程序的文件编译方法 |
CN116185372B (zh) * | 2023-04-26 | 2023-07-21 | 山东浪潮科学研究院有限公司 | 一种后端源码生成方法、装置、设备及存储介质 |
CN116307649B (zh) * | 2023-05-24 | 2023-08-22 | 南洋电缆(天津)有限公司 | 电缆生产工序排产方法、系统、设备及低代码开发方法 |
CN117827191A (zh) * | 2024-01-10 | 2024-04-05 | 广东赛意信息科技有限公司 | 一种基于可视化建模的执行方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461519A (zh) * | 2014-11-23 | 2015-03-25 | 国云科技股份有限公司 | 一种流程表单动态生成和权限控制的方法 |
CN108037916A (zh) * | 2017-11-29 | 2018-05-15 | 福州市智捷信息科技有限公司 | 一种基于web的图形化业务建模方法 |
CN110825369A (zh) * | 2019-11-07 | 2020-02-21 | 四川长虹电器股份有限公司 | 一种基于java语言的代码自动生成的方法 |
CN111026389A (zh) * | 2019-11-08 | 2020-04-17 | 中建八局第二建设有限公司 | 一种基于jdbc数据库连接技术的web框架平台软件的自动搭建方法和系统 |
CN113849165A (zh) * | 2021-09-28 | 2021-12-28 | 航天科工网络信息发展有限公司 | 基于可视化拖拉且可定制的低代码前端开发框架及方法 |
CN113849168A (zh) * | 2021-08-25 | 2021-12-28 | 北京通通易联科技有限公司 | 一种基于可视化配置搭建应用系统的方法 |
CN114385145A (zh) * | 2021-12-31 | 2022-04-22 | 北京锐安科技有限公司 | 一种Web系统后端架构设计方法及计算机设备 |
CN114860218A (zh) * | 2022-05-09 | 2022-08-05 | 大唐软件技术股份有限公司 | 一种低代码开发方法和装置 |
CN115220773A (zh) * | 2022-09-20 | 2022-10-21 | 南京麦豆健康科技有限公司 | 低代码、可视化生成后台数据管理代码的系统和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7389492B2 (en) * | 2001-03-12 | 2008-06-17 | International Business Machines Corporation | Framework for code generators |
US7917890B2 (en) * | 2006-08-31 | 2011-03-29 | Jon Barcellona | Enterprise-scale application development framework utilizing code generation |
-
2022
- 2022-11-15 CN CN202211431220.0A patent/CN115712413B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461519A (zh) * | 2014-11-23 | 2015-03-25 | 国云科技股份有限公司 | 一种流程表单动态生成和权限控制的方法 |
CN108037916A (zh) * | 2017-11-29 | 2018-05-15 | 福州市智捷信息科技有限公司 | 一种基于web的图形化业务建模方法 |
CN110825369A (zh) * | 2019-11-07 | 2020-02-21 | 四川长虹电器股份有限公司 | 一种基于java语言的代码自动生成的方法 |
CN111026389A (zh) * | 2019-11-08 | 2020-04-17 | 中建八局第二建设有限公司 | 一种基于jdbc数据库连接技术的web框架平台软件的自动搭建方法和系统 |
CN113849168A (zh) * | 2021-08-25 | 2021-12-28 | 北京通通易联科技有限公司 | 一种基于可视化配置搭建应用系统的方法 |
CN113849165A (zh) * | 2021-09-28 | 2021-12-28 | 航天科工网络信息发展有限公司 | 基于可视化拖拉且可定制的低代码前端开发框架及方法 |
CN114385145A (zh) * | 2021-12-31 | 2022-04-22 | 北京锐安科技有限公司 | 一种Web系统后端架构设计方法及计算机设备 |
CN114860218A (zh) * | 2022-05-09 | 2022-08-05 | 大唐软件技术股份有限公司 | 一种低代码开发方法和装置 |
CN115220773A (zh) * | 2022-09-20 | 2022-10-21 | 南京麦豆健康科技有限公司 | 低代码、可视化生成后台数据管理代码的系统和方法 |
Non-Patent Citations (3)
Title |
---|
B/S架构代码自动生成系统的设计与实现;韩佳乐;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200715;I138-230 * |
In Search of the Essence of Low-Code: An Exploratory Study of Seven Development Platforms;Alexander C. Bock等;《 2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)》;20211220;57-66 * |
基于Electron界面应用的互联网医院关键代码自动化生成设计与实现;刘行;《中国优秀硕士学位论文全文数据库 医药卫生科技辑》;20220115;E054-87 * |
Also Published As
Publication number | Publication date |
---|---|
CN115712413A (zh) | 2023-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115712413B (zh) | 低代码开发方法、装置、设备及存储介质 | |
JP7093387B2 (ja) | スプレッドシートに基づくソフトウェアアプリケーション開発 | |
CN109614424B (zh) | 页面布局生成方法、装置、计算设备和介质 | |
CN110442822B (zh) | 一种小程序内容展示方法、装置、设备及存储介质 | |
CN112632942B (zh) | 一种文档处理方法、装置、设备及介质 | |
CN102609271B (zh) | 一种元数据驱动的SaaS应用的可视化定制方法及系统 | |
CN109062567B (zh) | 基于b/s结构的信息管理系统快速开发平台 | |
JP2021028828A6 (ja) | スプレッドシートに基づくソフトウェアアプリケーション開発 | |
CN114035773B (zh) | 一种基于配置的低代码开发表单方法、系统及装置 | |
CN109408764B (zh) | 页面区域划分方法、装置、计算设备和介质 | |
US8930824B2 (en) | Facilitating propagation of user interface patterns or themes | |
CN108762760B (zh) | 软件界面自定义方法、装置、计算机设备及存储介质 | |
US20130097485A1 (en) | Template-based content creation | |
US20120291011A1 (en) | User Interfaces to Assist in Creating Application Scripts | |
US20120291005A1 (en) | Compilation and Injection of Scripts in a Rapid Application Development | |
CN111819534A (zh) | 基于电子表格的软件应用程序开发 | |
CN111857717B (zh) | Ui编辑方法、装置、设备及计算机可读存储介质 | |
CN104793961A (zh) | 使用原生Web代码的快速JavaWeb开发方法及系统 | |
CN111488148B (zh) | 网页源代码的生成方法及装置 | |
CN111324390A (zh) | 实现app内容可配置和实时更新的装置及方法 | |
BR112021009093A2 (pt) | sistema de desenvolvimento de website, e método para um sistema de desenvolvimento de website | |
CN106407172A (zh) | 一种基于xml的报表生成方法 | |
CN109344165A (zh) | 一种查询方法及存储设备 | |
CN110888634B (zh) | 游戏落地页生成方法、装置、计算机设备和存储介质 | |
KR20180135654A (ko) | 프로그램의 직관적 제작방법 |
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 |