基于资源分配、隔离和回收的代码生成方法及相关设备技术

技术编号:35411591 阅读:16 留言:0更新日期:2022-11-03 11:08
本发明专利技术提供一种基于资源分配、隔离和回收的代码生成方法及相关设备,该方法包括:接收用户通过管理后台提交的创建应用请求;根据创建应用请求,为用户创建应用,并将应用的状态置为已创建;接收用户通过管理后台提交的任一应用的提交审核请求;根据提交审核请求,将应用的状态置为待审核;接收管理员通过管理后台提交的应用的审核请求,判断用户是否勾选DB;若否,将应用的状态变更为已审核;若是,为应用分配数据库资源,并创建测试表;接收用户通过管理后台提交的生成代码请求;根据生成代码请求和数据库资源,按照预先建立的目录结构生成代码。通过上述方法能够在生成代码过程中实现数据库资源申请、资源隔离及回收。资源隔离及回收。资源隔离及回收。

【技术实现步骤摘要】
基于资源分配、隔离和回收的代码生成方法及相关设备


[0001]本专利技术涉及Java开发
,尤其涉及一种基于资源分配、隔离和回收的代码生成方法及相关设备。

技术介绍

[0002]随着互联网的飞速发展,开发人员的工作量越来越大,需要同时维护或开发多个项目,如果每个项目都需要开发人员从零开始搭建代码框架,尤其是每个项目设计多张表,每个表都对应controller类、service类及实现类、dao类、bean类等多个类于方法,这样非常浪费时间,而且开发人员的开发效率低。
[0003]在现有技术中,大部分代码生成工具生成代码之前要申请自己的数据库资源,对于大公司来说,是一个非常费时的流程,申请的资源通过不同的服务器做物理隔离,如果是临时测试项目资源回收又需要走回收流程。
[0004]由此可知,现有的代码生成工具在生成代码的过程中无法解决数据库资源申请、资源隔离及回收问题。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种基于资源分配、隔离和回收的代码生成方法及相关设备,以解决现有技术中的数据库资源申请、资源隔离及回收的问题。
[0006]为实现上述目的,本专利技术实施例提供如下技术方案:
[0007]本专利技术实施例第一方面公开了一种基于资源分配、隔离和回收的代码生成方法,应用于服务端,所述方法包括:
[0008]接收用户通过管理后台提交的创建应用请求,所述创建应用请求由所述用户通过所述管理后台在触发创建按钮后,在应用创建框中填写待创建应用的应用信息后触发确认按钮得到,所述应用信息至少包括应用名、应用编号、描述和资源选择,所述资源选择为是否勾选数据库DB;
[0009]根据所述创建应用请求,为所述用户创建应用,并将所述应用的状态置为已创建;
[0010]接收所述用户通过所述管理后台提交的任一所述应用的提交审核请求;
[0011]根据所述提交审核请求,将所述应用的状态置为待审核;
[0012]接收管理员通过所述管理后台提交的所述应用的审核请求;
[0013]判断所述用户是否勾选所述数据库DB;
[0014]若否,将所述应用的状态变更为已审核;
[0015]若是,为所述应用分配数据库资源,并创建测试表,所述数据库资源包括所述应用的数据库名、数据库账号和密码,所述数据库名和所述数据库账号为所述应用编号;
[0016]接收所述用户通过所述管理后台提交的生成代码请求,所述生成代码请求由所述用户通过所述管理后台选择待生成的测试表后触发生成按钮得到;
[0017]根据所述生成代码请求和所述数据库资源,按照预先建立的目录结构生成代码。
[0018]可选的,还包括:
[0019]在任意所述应用下线后,接收所述用户通过所述管理后台提交的资源回收请求;
[0020]根据所述资源回收请求,对所述应用进行资源回收。
[0021]可选的,所述若是,为所述应用分配数据库资源,并创建测试表,包括:
[0022]若是,为所述应用分配数据库名、数据库账号和密码;
[0023]根据预先设定的第一创建语句和所述数据库名,创建数据库;
[0024]根据预先设定的第二创建语句、所述数据库账号和所述密码,为所述数据库创建账号;
[0025]根据预先设定的授权语句、所述数据库名、所述数据库账号和所述密码,为所述账号授予所述数据库的所有权限;
[0026]根据所述数据库名、所述数据库账号和所述密码,通过java数据库连接JDBC方式,连接所述数据库;
[0027]通过预先设定的更新方法,创建测试表。
[0028]可选的,所述根据所述生成代码请求和所述数据库资源,按照预先建立的目录结构生成代码,包括:
[0029]按照预先建立的目录结构定义模板文件,并获取所述模板文件的资源文件,所述模板文件包括模板引擎;
[0030]遍历所述资源文件;
[0031]判断所述模板文件的模板类型;
[0032]若是通用模板,获取参数中的可变信息,所述参数为所述数据库名、所述数据库账号和所述密码;
[0033]将所述可变信息封装至所述模板引擎的上下文;
[0034]基于所述模板引擎的上下文,渲染所述模板文件,得到第一字符流并输出;
[0035]将所述第一字符流中的数据写到第一文件流,并将所述第一文件流输出到第一具体文件;
[0036]根据所述通用模板和所述第一具体文件,生成所有文件。
[0037]可选的,还包括:
[0038]若是非通用模板,遍历所述数据库中的表名;
[0039]根据所述表名、当前应用的数据库名、数据库账号和密码,查询所述数据库中的表基础信息和表字段信息;
[0040]定义第一实体类和第二实体类,利用所述第一实体类承载所述表基础信息,利用所述第二实体类承载所述表字段信息;
[0041]将所述表基础信息和所述表字段信息封装至所述模板引擎的上下文;
[0042]基于所述模板引擎的上下文,渲染所述模板文件,得到第二字符流并输出;
[0043]将所述第二字符流中的数据写到第二文件流,并将所述第二文件流输出到第二具体文件;
[0044]根据所述非通用模板和所述第二具体文件,生成所有文件。
[0045]可选的,所述在任意所述应用下线后,接收所述用户通过所述管理后台提交的资源回收请求,包括:
[0046]在任意所述应用下线后,接收所述用户通过所述管理后台提交的任一所述应用的删除请求;
[0047]相应的,所述根据所述资源回收请求,对所述应用进行资源回收,包括:
[0048]根据所述删除请求,判断所述应用所处状态;
[0049]若所述应用的状态是已创建|审核中,将所述应用的状态置为已删除;
[0050]若所述应用的状态是已审核|已生成,将所述应用的状态置为资源回收中;
[0051]根据预先设定的第一删除语句和所述数据库名,删除所述应用所在的数据库;
[0052]根据预先设定的第二删除语句和所述数据库账号,删除所述应用对应的授权账号;
[0053]将所述应用的状态置为已删除。
[0054]本专利技术实施例第二方面公开了一种基于资源分配、隔离和回收的代码生成装置,应用于服务端,所述装置包括:
[0055]第一接收模块,用于接收用户通过管理后台提交的创建应用请求,所述创建应用请求由所述用户通过所述管理后台在触发创建按钮后,在应用创建框中填写待创建应用的应用信息后触发确认按钮得到,所述应用信息至少包括应用名、应用编号、描述和资源选择,所述资源选择为是否勾选数据库DB;
[0056]创建模块,用于根据所述创建应用请求,为所述用户创建应用,并将所述应用的状态置为已创建;
[0057]第二接收模块,用于接收所述用户通过所述管理后台提交的任一所述应用的提交审核请求;
[0058]设置模块,用于根据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于资源分配、隔离和回收的代码生成方法,其特征在于,应用于服务端,所述方法包括:接收用户通过管理后台提交的创建应用请求,所述创建应用请求由所述用户通过所述管理后台在触发创建按钮后,在应用创建框中填写待创建应用的应用信息后触发确认按钮得到,所述应用信息至少包括应用名、应用编号、描述和资源选择,所述资源选择为是否勾选数据库DB;根据所述创建应用请求,为所述用户创建应用,并将所述应用的状态置为已创建;接收所述用户通过所述管理后台提交的任一所述应用的提交审核请求;根据所述提交审核请求,将所述应用的状态置为待审核;接收管理员通过所述管理后台提交的所述应用的审核请求;判断所述用户是否勾选所述数据库DB;若否,将所述应用的状态变更为已审核;若是,为所述应用分配数据库资源,并创建测试表,所述数据库资源包括所述应用的数据库名、数据库账号和密码,所述数据库名和所述数据库账号为所述应用编号;接收所述用户通过所述管理后台提交的生成代码请求,所述生成代码请求由所述用户通过所述管理后台选择待生成的测试表后触发生成按钮得到;根据所述生成代码请求和所述数据库资源,按照预先建立的目录结构生成代码。2.根据权利要求1所述的方法,其特征在于,还包括:在任意所述应用下线后,接收所述用户通过所述管理后台提交的资源回收请求;根据所述资源回收请求,对所述应用进行资源回收。3.根据权利要求1所述的方法,其特征在于,所述若是,为所述应用分配数据库资源,并创建测试表,包括:若是,为所述应用分配数据库名、数据库账号和密码;根据预先设定的第一创建语句和所述数据库名,创建数据库;根据预先设定的第二创建语句、所述数据库账号和所述密码,为所述数据库创建账号;根据预先设定的授权语句、所述数据库名、所述数据库账号和所述密码,为所述账号授予所述数据库的所有权限;根据所述数据库名、所述数据库账号和所述密码,通过java数据库连接JDBC方式,连接所述数据库;通过预先设定的更新方法,创建测试表。4.根据权利要求1所述的方法,其特征在于,所述根据所述生成代码请求和所述数据库资源,按照预先建立的目录结构生成代码,包括:按照预先建立的目录结构定义模板文件,并获取所述模板文件的资源文件,所述模板文件包括模板引擎;遍历所述资源文件;判断所述模板文件的模板类型;若是通用模板,获取参数中的可变信息,所述参数为所述数据库名、所述数据库账号和所述密码;将所述可变信息封装至所述模板引擎的上下文;
基于所述模板引擎的上下文,渲染所述模板文件,得到第一字符流并输出;将所述第一字符流中的数据写到第一文件流,并将所述第一文件流输出到第一具体文件;根据所述通用模板和所述第一具体文件,生成所有文件。5.根据权利要求4所述的方法,其特征在于,还包括:若是非通用模板,遍历所述数据库中的表名;根据所述表名、当前应用的数据库名、数据库账号和密码,查询所述数据库中的表基础信息和表字段信息;定义第一实体类和第二实体类,利用所述第一实体类承载所述表基础信息,利用所述第二实体类承载所述表字段信息;将所述表基础信息和所述表字段信息封装至所述模板引擎的上下文;基于...

【专利技术属性】
技术研发人员:郑雄飞易桂
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司
类型:发明
国别省市:

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

1