智能代码生成引擎系统及方法技术方案

技术编号:15690567 阅读:125 留言:0更新日期:2017-06-24 03:03
本发明专利技术公开了一种智能代码生成引擎系统及方法,该系统包括数据库表查询展示配置模块、数据表详情查询模块和Beetl模板引擎模块;数据库表查询展示配置模块:用于查询数据库内所有表名,并提供可视化界面数据,给予用户进行后续操作使用;数据表详情查询模块:用于根据表名在数据库中查询表内容提供给模板引擎渲染数据;Beetl模板引擎模块:用于根据表名和表内容,加载和解析预先定制的Beetl模板,将表名和表内容渲染数据并生成代码文件。本发明专利技术可集成于项目中(可视化操作),也可单独使用,大大减少了软件开发人员的基础编码工作,进而提升软件开发人员的工作效率。

Intelligent code generating engine system and method

The invention discloses an intelligent code generation engine system and method, the system includes a database query display configuration module, data sheet details query module and Beetl template engine module; database query display configuration module: for all queries the database table name, and provides a visual interface data, give the user the follow-up operation data; details: according to the query module table table name lookup table contents to the template engine to render the data in the database; the Beetl template engine module: according to the table names and contents, loading and analyzing pre customized Beetl template, the table names and contents of rendering data and generate the code files. The invention can be integrated in the project (visual operation) and can be used alone, greatly reducing the basic coding work of the software developer, and improving the work efficiency of the software developer.

【技术实现步骤摘要】
智能代码生成引擎系统及方法
本专利技术主要针对计算机应用
,具体目的是为在编程工作中提高个人的工作效率。
技术介绍
在现今的IT领域,开发人员的工作压力越来越大,工作量也越来越多,很多非业务的基础功能也需要消耗时间去编写,这样就导致了时间和精力的低效使用。现有的代码自动生成方法多数采用文本文档模板替换特定字符的形式拿到文件流从而生成代码,这样必然导致模板编辑困难(变量的定义和替换赋值,固定文档结构格式的调整等)和代码生成效率的降低。
技术实现思路
针对上述现状,本专利技术提供了一种智能代码生成引擎及方法,可集成于项目中(可视化操作),也可单独使用,大大减少了软件开发人员的基础编码工作,进而提升软件开发人员的工作效率。本专利技术一种智能代码生成引擎,其特殊之处在于,包括数据库表查询展示配置模块、数据表详情查询模块和Beetl模板引擎模块;所述数据库表查询展示配置模块:用于查询数据库内所有表名,并提供可视化界面数据,给予用户进行后续操作使用;所述数据表详情查询模块:用于根据所述表名在数据库中查询表列相关详细内容提供给模板引擎渲染数据;所述Beetl模板引擎模块:用于根据所述表名和表中列相关详细内容,加载和解析预先定制的Beetl模板,将所述表名和表中列相关详细内容组装参数集合渲染模板数据并生成代码文件。进一步地,所述预先定制的Beetl模板为本人现在使用的SSI框架下的代码模板,包括控制层模板、数据库映射关系配置层模板、实体类模板、服务层模板、前端页面层模板。采用此架构是为了更好的适应目前团队项目的开发使用(稳定性、灵活性等),也可以采用自己的框架结构,可灵活使用。更进一步地,所述前端页面层模板包括添加功能模板、列表功能模板、修改功能模板和查看功能模板。此处前端的四种模板实现了基础的增、删、改、查功能,也可以根据自己所在项目的具体情况添加配置更多常用功能模块到模板文件。更进一步地,所述服务层模板包括接口类模板和接口实现类模板,此处采用接口与业务实现分离的模式,目的是让代码更简洁易懂。更进一步地,所述Beetl模板引擎模块(3)基于Beetl引擎实现,使用WebAppResourceLoader资源模板加载器,可以直接获取到渲染数据后的文件流,针对此文件流我们可以保存为对应的文件。一种基于上述智能代码生成引擎系统的智能代码生成方法,其特殊之处在于,包括如下步骤:1)在数据配置文件中修改智能代码生成引擎的配置信息;2)在数据库表查询展示配置模块中选择需要生成代码的表名;3)数据表详情查询模块根据所述表名查询表内容,并加载出表中所有的字段信息,勾选需要功能,形成功能项;4)Beetl模板引擎模块根据表名和表内容中的功能项选取预先定制的Beetl模板,将所述表内容渲染数据并生成代码文件于配置文件中的指定路径。优选地,所述步骤1)中的配置信息包括数据库连接地址;后台代码存放目录;后台代码存放包名;前端页面存放目录;作者姓名。此处采用配置文件可以灵活改变,既适应了集成此智能代码生成引擎于项目中(配置文件的修改无需重新启动项目),也适应了单独使用此智能代码生成引擎。优选地,所述步骤3)中的表内容包括表的列名、列说明、列类型、精度、主键。可视化的界面使用户的操作更直观,易用性得到很大的改善。本专利技术针对现有代码自动生成方法效率不高的缺陷,对确定了系统架构的系统,通过数据库中相应表的查询,包括字段和注释,从而自动生成含有最基础的增(templ_insert.html)、删(此功能点无模板)、改(templ_update.html)、查(列表:templ_select.html,详情:templ_view.html)功能的对应的模块代码,现在也将此技术做成可视化界面,便于开发人员操作,从而提高开发人员的工作效率,减少基础代码编写工作量,让开发人员有更多的精力专注于行业中的业务处理。附图说明图1为本专利技术智能代码生成引擎系统的结构示意图。图2为本专利技术智能代码生成引擎系统的后台代码目录结构示意图。图3为本专利技术智能代码生成引擎系统的前端代码目录结构示意图。图4为本专利技术智能代码生成方法的基本流程图。图5为本专利技术智能代码生成方法的配置数据源信息的示意图。图6为本专利技术智能代码生成方法的生成代码的表名的示意图。图7为本专利技术智能代码生成方法的选取列字段在列表页的查询匹配方式的示意图。图8为本专利技术智能代码生成方法的选取列字段在新增、修改、查看页面的显示表单类型的示意图。图9为本专利技术智能代码生成引擎系统的整个可视化视图界面的示意图。图中:数据库表查询展示配置模块1,数据表详情查询模块2,Beetl模板引擎模块3,数据库4。具体实施方式以下结合附图和具体实施例对本专利技术作进一步的详细描述。本技术方案中模板配置的前提是确定整个系统架构。如图1所示,本专利技术一种智能代码生成引擎系统,包括数据库表查询展示配置模块1、数据表详情查询模块2和Beetl模板引擎模块3。数据库表查询展示配置模块1:用于查询数据库4内所有表名,并提供可视化界面数据,给予用户进行后续操作使用。数据表详情查询模块2:用于根据表名在数据库4中查询表内容提供给模板引擎渲染数据。表内容包括表的列名、列说明、列类型、精度、主键等。Beetl模板引擎模块3:用于根据表名和表内容,加载和解析预先定制的Beetl模板,用组装好的数据集合(表名和表内容)对模板进行渲染数据并生成代码文件。Beetl模板引擎模块3基于Beetl-Java模板引擎实现。Beet模板引擎是一种类似JS语法和使用习惯以.btl结尾的文件模板,由于Beetl具有的高性能、高可靠性、高易用性等优点,因此本专利技术采用Beetl-Java模板引擎。Beetl模板是基于已有的代码,根据自己的代码风格以及框架的结构调整的模板信息,Beetl模板提供有四种资源模板加载器,并且支持自定义资源模板加载器,此处选用的是WebAppResourceLoader资源模板加载器,Java代码调用函数简单,可以在模板文件中定义变量,且变量的赋值仅需放入绑定数据的Map集合中,与JSTL表达式使用规则类似,此处减少了重新学习新语法规则的成本,现有的代码生成工具几乎没有使用模板引擎,导致到生成代码的时候对系统资源消耗较多,且不能灵活的变更模板,因此代码生成的效率和通用性大打折扣,此处选用Beetl模板作为代码的模板文件就是为了解决这一问题,无论你的项目使用什么技术架构,只要有一个完整的样例,就能轻易的编写出模板文件,底层查询的数据已经封装出几乎所有的表相关信息的实体类,在模板文件中变量赋值就变的轻而易举,从而大大提升开发人员的工作效率。预先定制的Beetl模板为SSI框架下的代码模板,包括控制层模板(templ_controller.btl)、数据库映射关系配置层模板(templ_ibatis.btl)、实体类模板(templ_entity.btl)、服务层模板(templ_service.btl/templ_serviceImpl.btl)、前端页面层模板(templ_select.btl/templ_insert.btl/templ_update.btl/templ_view.btl)。模板文件中的包名、类名、页面路径、字段说明等等均需要使用变量,以便模板本文档来自技高网...
智能代码生成引擎系统及方法

【技术保护点】
一种智能代码生成引擎系统,其特征在于:数据库表查询展示配置模块(1)、数据表详情查询模块(2)和Beetl模板引擎模块(3);所述数据库表查询展示配置模块(1):用于查询数据库(4)内所有表名,并提供可视化界面数据,给予用户进行后续操作使用;所述数据表详情查询模块(2):用于根据所述表名在数据库(4)中查询表内容提供给模板引擎渲染数据;所述Beetl模板引擎模块(3):用于根据所述表名和表内容,加载和解析预先定制的Beetl模板,将所述表名和表内容渲染数据并生成代码文件。

【技术特征摘要】
1.一种智能代码生成引擎系统,其特征在于:数据库表查询展示配置模块(1)、数据表详情查询模块(2)和Beetl模板引擎模块(3);所述数据库表查询展示配置模块(1):用于查询数据库(4)内所有表名,并提供可视化界面数据,给予用户进行后续操作使用;所述数据表详情查询模块(2):用于根据所述表名在数据库(4)中查询表内容提供给模板引擎渲染数据;所述Beetl模板引擎模块(3):用于根据所述表名和表内容,加载和解析预先定制的Beetl模板,将所述表名和表内容渲染数据并生成代码文件。2.根据权利要求1所述的智能代码生成引擎系统,其特征在于:所述预先定制的Beetl模板为SSI框架下的代码模板,包括控制层模板、数据库映射关系配置层模板、实体类模板、服务层模板、前端页面层模板、框架代码模板。3.根据权利要求2所述的智能代码生成引擎系统,其特征在于:所述前端页面层模板包括添加功能模板、列表功能模板、修改功能模板和查看功能模板。4.根据权利要求2所述的智能代码生成引擎系统,其特征在于:所述服务层模板包括接口类模板和接口实现类模板。5.根据...

【专利技术属性】
技术研发人员:李猛任骏祁文荣
申请(专利权)人:武汉默联股份有限公司
类型:发明
国别省市:湖北,42

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

1