代码生成方法、装置、电子设备及存储介质制造方法及图纸

技术编号:34136335 阅读:48 留言:0更新日期:2022-07-14 16:42
本申请涉及计算机技术领域,尤其涉及一种代码生成方法、装置、电子设备及存储介质,该方法包括:接收代码生成请求;该代码生成请求指示有目标路径、数据库表以及模板类型;将代码生成请求发送至目标路径,并找到目标路径对应的代码生成器,以使代码生成器基于数据库表和模板类型生成对应的模板;进而基于模板自动生成相应的代码文件,并基于模板中的配置文件生成可视化操作界面;该可视化操作界面用于显示模板对应的接口文档,该接口文档包括至少一个用于运行代码文件的插件模块。这样,开发人员可以在该接口文档的显示界面点击相应的插件模块进行相关功能的调试,减少开发者的代码开发量,提高代码的准确率、灵活性和可扩展性,利于推广。于推广。于推广。

【技术实现步骤摘要】
代码生成方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种代码生成方法、装置、电子设备及存储介质。

技术介绍

[0002]随着计算机技术的发展,代码生成工具应用越来越广泛,但是由于计算机应用功能的增多,在开发计算机应用时,开发人员的代码编写量也变得越来越庞大。
[0003]现有技术中,现有技术中可以使用Mybatis

Generator生成Mybatis的所支持的数据库表的代码,其中,Mybatis

Generator是基于Mybatis的代码生成器,Mybatis是一个支持普通结构化查询语言SQL查询、存储过程和高级映射的java持久层框架。
[0004]但是,上述方法灵活性不高,不利于开发人员调试,且可扩展性不高,不利于推广。

技术实现思路

[0005]本申请提供一种代码生成方法、装置、电子设备及存储介质,可以解决现有技术中在利用代码生成器直接生成代码时,灵活性不高,不利于开发人员调试,且可扩展性不高,不利于推广的问题。
[0006]第一方面,本申请提供了一种代码生成方法,所述方法包括:
[0007]接收代码生成请求;所述代码生成请求指示有目标路径、数据库表以及模板类型;
[0008]将所述代码生成请求发送至所述目标路径,并利用所述目标路径找到对应的代码生成器,以使所述代码生成器基于所述数据库表和所述模板类型生成对应的模板;
[0009]基于所述模板自动生成与所述代码生成请求对应的代码文件,并基于所述模板中的配置文件生成可视化操作界面;所述可视化操作界面用于显示所述模板对应的接口文档;所述接口文档包括至少一个用于运行所述代码文件的插件模块。
[0010]可选的,所述代码生成请求还指示有配置参数;基于所述模板中的配置文件生成可视化操作界面,包括:
[0011]获取所述模板中的配置文件,并基于所述配置文件生成接口文档和对应的客户端代码;
[0012]基于所述接口文档和所述客户端代码找到对应的客户端设备,并基于所述模板和所述配置参数生成可视化操作界面,以使所述可视化操作界面显示在对应的客户端设备中。
[0013]可选的,所述数据库表包括数据库信息和表信息;所述代码生成器包括控制层模块、服务模块和服务实现模块;所述代码生成器基于所述数据库表和所述模板类型生成对应的模板,包括:
[0014]利用所述控制层模块基于所述代码生成请求生成对应的配置文件;
[0015]利用所述服务模块对所述配置文件进行处理,得到对应的接口文件;所述接口文件用于指示连接服务实现模块的接口;
[0016]基于所述接口文件找到对应的服务实现模块,并利用所述服务实现模块对所述数据库信息、所述表信息和所述模板类型进行处理,生成对应的模板;
[0017]其中,所述数据库信息用于指示数据库的类型、位置以及存储信息;所述表信息用于指示数据库中存储信息中储存数据对象之间的关系。
[0018]可选的,所述方法还包括:
[0019]基于所述模板类型选取对应的语法规则,并基于所述语法规则为所述代码文件添加注释。
[0020]可选的,基于所述模板类型选取对应的语法规则,并基于所述语法规则为所述代码文件添加注释,包括:
[0021]获取含注释的代码语料库,并基于所述模板类型选取对应的语法规则;
[0022]基于所述语法规则从所述代码语料库中提取高频词,利用所述语法规则和所述高频词为所述代码文件添加注释。
[0023]可选的,所述方法还包括:
[0024]获取开发人员对应的历史信息和所述代码生成请求对应的业务需求;所述历史信息包括语言风格和历史注释内容;
[0025]将所述历史信息和所述业务需求输入到机器深度学习模型中,得到对应的语法规则,并基于所述语法规则为所述代码文件添加注释。
[0026]可选的,所述方法还包括:
[0027]响应于开发人员在可视化操作界面中的触控操作,运行相对应的代码文件。
[0028]第二方面,本申请还提供了一种代码生成装置,所述装置包括:
[0029]接收模块,用于接收代码生成请求;所述代码生成请求指示有目标路径、数据库表以及模板类型;
[0030]处理模块,用于将所述代码生成请求发送至所述目标路径,并利用所述目标路径找到对应的代码生成器,以使所述代码生成器基于所述数据库表和所述模板类型生成对应的模板;
[0031]生成模块,用于基于所述模板自动生成与所述代码生成请求对应的代码文件,并基于所述模板中的配置文件生成可视化操作界面;所述可视化操作界面用于显示所述模板对应的接口文档;所述接口文档包括至少一个用于运行所述代码文件的插件模块。
[0032]第三方面,本申请还提供了一种电子设备,包括:处理器,存储器以及计算机程序;其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如第一方面任一项所述的代码生成方法的指令。
[0033]第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面任一项所述的代码生成方法。
[0034]综上所述,本申请提供一种代码生成方法、装置、电子设备及存储介质,可以通过接收代码生成请求,并将代码生成请求发送至对应的代码生成器所在的目标路径,该代码生成请求指示有目标路径、数据库表以及模板类型;进而基于目标路径找到对应的代码生成器,利用模板类型和数据库生成所需模板,进一步的,基于该模板自动生成与代码生成请求对应的代码文件,并基于该模板中的配置文件生成可视化操作界面,用于为用户提供一
个可调试的显示界面,该显示界面中有接口文档该接口文档包括至少一个用于运行代码文件的插件模块。这样,开发人员可以在该接口文档的显示界面点击相应的插件模块进行相关功能的调试,减少开发者的代码开发量,提高代码的准确率,因为理论上只要能写出代码的模版,就能生成此类代码,所以上述方法的灵活性和可扩展性高,利于推广。
附图说明
[0035]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0036]图1为本申请实施例提供的一种应用场景示意图;
[0037]图2为本申请实施例提供的一种代码生成方法的流程示意图;
[0038]图3为本申请实施例提供的一种代码生成装置的结构示意图;
[0039]图4为本申请实施例提供的一种电子设备的结构示意图。
[0040]通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
[0041]这里将详细地对示例性实施例进行说明,其示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码生成方法,其特征在于,所述方法包括:接收代码生成请求;所述代码生成请求指示有目标路径、数据库表以及模板类型;将所述代码生成请求发送至所述目标路径,并利用所述目标路径找到对应的代码生成器,以使所述代码生成器基于所述数据库表和所述模板类型生成对应的模板;基于所述模板自动生成与所述代码生成请求对应的代码文件,并基于所述模板中的配置文件生成可视化操作界面;所述可视化操作界面用于显示所述模板对应的接口文档;所述接口文档包括至少一个用于运行所述代码文件的插件模块。2.根据权利要求1所述的方法,其特征在于,所述代码生成请求还指示有配置参数;基于所述模板中的配置文件生成可视化操作界面,包括:获取所述模板中的配置文件,并基于所述配置文件生成接口文档和对应的客户端代码;基于所述接口文档和所述客户端代码找到对应的客户端设备,并基于所述模板和所述配置参数生成可视化操作界面,以使所述可视化操作界面显示在对应的客户端设备中。3.根据权利要求1所述的方法,其特征在于,所述数据库表包括数据库信息和表信息;所述代码生成器包括控制层模块、服务模块和服务实现模块;所述代码生成器基于所述数据库表和所述模板类型生成对应的模板,包括:利用所述控制层模块基于所述代码生成请求生成对应的配置文件;利用所述服务模块对所述配置文件进行处理,得到对应的接口文件;所述接口文件用于指示连接服务实现模块的接口;基于所述接口文件找到对应的服务实现模块,并利用所述服务实现模块对所述数据库信息、所述表信息和所述模板类型进行处理,生成对应的模板;其中,所述数据库信息用于指示数据库的类型、位置以及存储信息;所述表信息用于指示数据库中存储信息中储存数据对象之间的关系。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述模板类型选取对应的语法规则,并基于所述语法规则为所述代码文件添加注释。5.根据权利要求4所述的方法,其特征在于,基于所述模板类型选取对...

【专利技术属性】
技术研发人员:张婷婷陈亮左亮亮许永军
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:

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

1