一种基于Velocity模板引擎的代码生成方法、系统及介质技术方案

技术编号:39191909 阅读:10 留言:0更新日期:2023-10-27 08:39
本发明专利技术公开了一种基于Velocity模板引擎的代码生成方法、系统及介质,属于计算机技术领域,用于解决现有的代码生成工具,需要进行大量的数据导入操作,并且在生成代码之后仍需进行一定的修改,无法实现完全的智能化的技术问题。方法包括:根据目标系统的后端框架,确定对应的Velocity模板;配置数据库链接,并通过所述数据库链接,链接MySql数据库;在所述MySql数据库中,读取数据库信息;所述数据库信息至少包括元数据信息;根据所述数据库信息以及所述Velocity模板,生成可运行代码。此方法在数据库设计完成后,只需要配置数据库链接信息,启动程序后自动链接数据库读取数据库信息,可以融合在目标系统中直接运行,一键生成代码,无需修改即可运行。无需修改即可运行。无需修改即可运行。

【技术实现步骤摘要】
一种基于Velocity模板引擎的代码生成方法、系统及介质


[0001]本专利技术涉及计算机
,尤其涉及一种基于Velocity模板引擎的代码生成方法、系统及介质。

技术介绍

[0002]开发软件都是通过程序员敲写代码完成,而这些代码就是指计算机能够接受和处理的、具有一定语法规则的计算机编程语言。一般来说,传统的代码开发模式以“需求提出

功能设计

开发

测试

发布

运维”为链条,输出软件产品。在这个过程中,很容易因为开发代码的复杂冗余导致难以快速响应市场需求的变化。同时,软件开发所需要的IT人力成本、技术选型、硬件资源等都是企业软件研发面临的问题。
[0003]目前,由于企业的经营日益复杂,企业内部各业务实体之间以及企业与企业之间的业务关联不断增强,业务数据交互日益频繁,企业面临着越来越多的难题。此外,市场的变化频率越来越快,这意味着企业需要迅速且灵活地响应这些变化,以满足环境的可变要求。承载企业运维能力的IT系统和业务系统需要能够承受环境负荷的压力,具备满足快速变化的需求的能力。因此,速度是当前企业数字化及IT系统转型中一个非常重要的影响因素。
[0004]为了提高企业的适应能力,以便迅速有效地满足市场需求,为企业内外部快速开发满足业务和市场需求的软件解决方案,在历经最底层的汇编、高级语言、更高效率的编程框架(如Spring框架、大前端框架等)后,计算机科学领域的大量研究工作集中在一个共同的目标上:实现软件的高效构建,无须重复传统的手动编程,同时兼顾业务人员和专业开发人员的更多参与。
[0005]有鉴于此,代码生成工具被视为一种新机制,可促进软件的快速开发,以满足当前企业需求并促进弹性数字化转型。但现有的代码生成工具,需要进行大量的数据导入操作,并且在生成代码之后仍需进行一定的修改,无法实现完全的智能化。

技术实现思路

[0006]本专利技术实施例提供了一种基于Velocity模板引擎的代码生成方法、系统及介质,用于解决如下技术问题:现有的代码生成工具,需要进行大量的数据导入操作,并且在生成代码之后仍需进行一定的修改,无法实现完全的智能化。
[0007]本专利技术实施例采用下述技术方案:
[0008]一方面,本专利技术实施例提供了一种基于Velocity模板引擎的代码生成方法,方法包括:根据目标系统的后端框架,确定对应的Velocity模板;
[0009]配置数据库链接,并通过所述数据库链接,链接MySql数据库;
[0010]在所述MySql数据库中,读取数据库信息;所述数据库信息至少包括元数据信息;
[0011]根据所述数据库信息以及所述Velocity模板,生成可运行代码。
[0012]在一种可行的实施方式中,根据目标系统的后端框架,确定对应的Velocity模板,
具体包括:
[0013]在所述目标系统的后端框架中,整理出所需的Velocity模板;其中,所述Velocity模板至少包括:Controller模板、Service模板以及Mapper模板。
[0014]在一种可行的实施方式中,配置数据库链接,并通过所述数据库链接,链接MySql数据库,具体包括:
[0015]在代码生成系统中配置需要连接的MySql数据库的链接信息;其中,所述连接信息至少包括数据库链接地址;
[0016]创建数据库JDBC链接,并根据所述连接信息连接所述需要连接的MySql数据库。
[0017]在一种可行的实施方式中,在所述MySql数据库中,读取数据库信息,具体包括:
[0018]在所述MySql数据库中,读取数据库的元数据信息;
[0019]通过所述元数据信息,获取数据库表信息;其中,所述数据库表信息至少包括数据库表名;
[0020]根据所述数据库表信息,获取数据库表中的字段信息以及表数据;其中,所述字段信息至少包括字段名称、字段类型、字段注释数据。
[0021]在一种可行的实施方式中,根据所述数据库信息以及所述Velocity模板,生成可运行代码,具体包括:
[0022]根据所述数据库表名,创建pojo实体类;所述pojo实体类的名称为所述数据库表名;
[0023]根据所述字段信息,完善所述pojo实体类;
[0024]将整理的所述Velocity模板拷贝到计算机内存中,再将完善后的所述pojo实体类与所述Velocity模板结合;
[0025]调用Velocity模板引擎API,对Velocity模板中的实体类进行替换,生成所述目标系统的可运行代码。
[0026]在一种可行的实施方式中,根据所述字段信息,完善所述pojo实体类,具体包括:
[0027]根据所述字段名称以及字段类型,生成所述pojo实体类的字段名称与字段类型,并生成所述pojo实体类的get方法代码以及set方法代码。
[0028]在一种可行的实施方式中,在根据所述数据库信息以及所述Velocity模板,生成可运行代码之后,所述方法还包括:
[0029]在所有可运行代码生成完成后,自动将所有可运行代码下载为压缩包;
[0030]将所述压缩包导入所述目标系统的代码编写编译工具中进行编译运行。
[0031]第二方面,本专利技术实施例还提供了一种基于Velocity模板引擎的代码生成系统,所述系统包括:
[0032]Velocity模板获取模块,用于根据目标系统的后端框架,确定对应的Velocity模板;
[0033]数据库连接模块,用于配置数据库链接,并通过所述数据库链接,链接MySql数据库;
[0034]代码生成模块,用于在所述MySql数据库中,读取数据库信息;所述数据库信息至少包括元数据信息;根据所述数据库信息以及所述Velocity模板,生成可运行代码。
[0035]在一种可行的实施方式中,所述系统还包括:
[0036]Velocity模板引擎,用于提供Velocity模板的调用接口。
[0037]第三方面,本专利技术实施例还提供了一种存储介质,所述存储介质为非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有至少一个程序,每个所述程序包括指令,所述指令当被终端执行时,使所述终端执行:
[0038]根据目标系统的后端框架,确定对应的Velocity模板;
[0039]配置数据库链接,并通过所述数据库链接,链接MySql数据库;
[0040]在所述MySql数据库中,读取数据库信息;所述数据库信息至少包括元数据信息;
[0041]根据所述数据库信息以及所述Velocity模板,生成可运行代码。
[0042]与现有技术相比,本专利技术实施例提供的一种基于Velocity模板引擎的代码生成方法、系统及介质,具有如下有益效果:
[0043]本专利技术提供的代码生成系本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Velocity模板引擎的代码生成方法,其特征在于,所述方法包括:根据目标系统的后端框架,确定对应的Velocity模板;配置数据库链接,并通过所述数据库链接,链接MySql数据库;在所述MySql数据库中,读取数据库信息;所述数据库信息至少包括元数据信息;根据所述数据库信息以及所述Velocity模板,生成可运行代码。2.根据权利要求1所述的一种基于Velocity模板引擎的代码生成方法,其特征在于,根据目标系统的后端框架,确定对应的Velocity模板,具体包括:在所述目标系统的后端框架中,整理出所需的Velocity模板;其中,所述Velocity模板至少包括:Controller模板、Service模板以及Mapper模板。3.根据权利要求1所述的一种基于Velocity模板引擎的代码生成方法,其特征在于,配置数据库链接,并通过所述数据库链接,链接MySql数据库,具体包括:在代码生成系统中配置需要连接的MySql数据库的链接信息;其中,所述连接信息至少包括数据库链接地址;创建数据库JDBC链接,并根据所述连接信息连接所述需要连接的MySql数据库。4.根据权利要求1所述的一种基于Velocity模板引擎的代码生成方法,其特征在于,在所述MySql数据库中,读取数据库信息,具体包括:在所述MySql数据库中,读取数据库的元数据信息;通过所述元数据信息,获取数据库表信息;其中,所述数据库表信息至少包括数据库表名;根据所述数据库表信息,获取数据库表中的字段信息以及表数据;其中,所述字段信息至少包括字段名称、字段类型、字段注释数据。5.根据权利要求4所述的一种基于Velocity模板引擎的代码生成方法,其特征在于,根据所述数据库信息以及所述Velocity模板,生成可运行代码,具体包括:根据所述数据库表名,创建pojo实体类;所述pojo实体类的名称为所述数据库表名;根据所述字段信息,完善所述pojo实体类;将整理的所述...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:九曜智能科技浙江有限公司
类型:发明
国别省市:

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

1