一种基于数据库表的代码自动生成系统技术方案

技术编号:29223955 阅读:18 留言:0更新日期:2021-07-10 01:06
本发明专利技术公开了一种基于数据库表的代码自动生成系统,包括读取解析模块、模板引擎存储模块和代码生成模块;读取解析模块解析数据库业务表工作簿中的内容,并将解析出的工作簿内容发送给代码生成模块;模板引擎存储模块,用于存储sql引擎、dao层引擎、service层引擎、controller层引擎和页面引擎;代码生成模块,自动生成建表sql语句、dao层、service层、controller层和前端页码的代码,解决了开发者在软件开发过程中代码重复率高,时间消耗高的问题,本发明专利技术的优点在于简单,易用,快捷,节省了开发者的时间,避免了不同开发者之间代码规范差异问题。范差异问题。

【技术实现步骤摘要】
一种基于数据库表的代码自动生成系统


[0001]本专利技术涉及一种计算机
,具体涉及一种基于数据库表的代码自动生成系统。

技术介绍

[0002]目前多数信息化系统都是基于Web应用实现.Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件。
[0003]一个Web应用程序是由完成特定任务的各种Web组件(web components)构成的并通过Web将服务展示给外界。在实际应用中,Web应用程序是由多个Servlet、JSP页面、HTML文件以及图像文件等组成。所有这些组件相互协调为用户提供一组完整的服务。
[0004]目前成熟的Web软件框架有spring、spring mvc、mybatis等,这里涉及一个成熟的思想就是MVC思想。MVC思想会导致分离的应用程序(输入逻辑,业务逻辑和UI逻辑)的不同方面,同时提供这些元素之间的松耦合。
[0005]下面即MVC得三层模型:
[0006]模型(Model)封装了应用程序的数据和一般他们会组成的POJO。
[0007]视图(View)是负责呈现模型数据和一般它生成的HTML输出,客户端的浏览器能够解释。
[0008]控制器(Controller)负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染。
[0009]由此形成了web软件开发过程中的三层,即dao层,service层,controller层,包括前端页面view。
[0010]随着智能制造的发展,制造业企业对信息化系统的要求越来越多,更新迭代要求越来越高,导致从事制造业应用软件开发的开发者工作量越来越多;对于应用软件程序,很多简单的基础功能,如信息的检索、新增、修改、删除、简单关联查询,集合查询等,还是需要开发者自己去写,从dao层到controller层、包括前端页面,数据库建表sql语句的开发,占用了开发者的大部分时间;虽然现在系统已经高度框架化,但是由于个体的差异,避免不了代码的区别和问题;另外框架的基础配置,框架的搭建还是需要程序员花费很多时间。

技术实现思路

[0011]本专利技术所要解决的技术问题是:当前软件开发过程复杂,时间跨度长,从需求分析,设计,数据库设计,后台开发,前台开发,测试到实施部署,过程步骤较多,时间消耗过多,所以对于开发者而言,虽然可以在成熟的研发框架上来研发,但是基础功能代码还是需要开发者自己编写,这样就导致开发者在基础编码上消耗过多的时间,本专利技术提供了解决上述问题的一种基于数据库表的代码自动生成系统。
[0012]本专利技术通过下述技术方案实现:
[0013]一种基于数据库表的代码自动生成系统,包括读取解析模块、模板引擎存储模块和代码生成模块;
[0014]所述读取解析模块,用于读取导入系统的数据库业务表,获取所述数据库业务表中的工作簿,然后解析工作簿中的内容,并将解析出的工作簿内容发送给所述代码生成模块;
[0015]所述模板引擎存储模块,用于存储sql模板引擎、dao层模板引擎、service层模板引擎、controller层模板引擎和页面模板引擎;
[0016]所述代码生成模块,从所述模板引擎存储模块中调用sql模板引擎,所述sql模板引擎根据所述读取解析模块解析出的工作簿内容,自动生成建表sql语句;
[0017]所述代码生成模块,从所述模板引擎存储模块中分别调用dao层模板引擎、service层模板引擎、controller层模板引擎和页面模板引擎,所述dao层模板引擎、service层模板引擎、controller层模板引擎和页面模板引擎分别根据所述读取解析模块解析出的工作簿内容,自动生成dao层、service层、controller层和前端页码的程序代码。
[0018]具体的,所述数据库业务表由开发者根据数据库表的excel模板设计而成,所述数据库业务表包括业务表名称、字段中文名、字段英文名、数据类型、数据长度、是否需要在前端页面展示和是否需要提供查询条件。
[0019]具体的,所述数据类型包括字符型、日期型、浮点型、时间型和整数型。
[0020]具体的,所述Sql模板引擎自动生成建表sql语句的内部实现逻辑为:根据所述工作簿内容中选择的数据类型,先确定sql语句的格式,然后再根据所述工作簿内容中的表名称,字段名称以及字段类型,来组织sql语句,组织结束之后,将组织的内容写到表名称.sql文件中。
[0021]具体的,所述dao层模板引擎、service层模板引擎、controller层模板引擎和页面模板引擎自动生成代码的内部实现逻辑为:首先分别读取dao层、service层、controller层和页面的模板文件,读取模板之后,将所述工作簿内容的对应部分填充到对应模板中,生成dao层、service层、controller层和前端页码的程序代码。
[0022]具体的,所述读取解析模块通过文件流读取所述数据库业务表。
[0023]具体的,所述读取解析模块使用Workbook对所述数据库业务表进行解析,首先获取所述数据库业务表中的工作簿,然后解析工作簿中的内容,并存放至TableObject中。
[0024]本专利技术提供一种基于数据库表的代码自动生成系统,该系统可以实现根据开发者设计的业务数据库表,自动生成web软件的dao层、service层、controller层、前端页面的代码和数据库建表sql语句,实现了基础功能如检索、新增、修改、删除、关联查询、集合查询等的自动生成。其具体实现过程为:
[0025]a.开发者根据数据库表设计的excel模板,设计数据库业务表,包括业务表名称、字段中文名、字段英文名、数据类型(包括字符型、日期型、浮点型、时间型和整数型)、数据长度、是否需要在前端页面展示和是否需要提供查询条件;
[0026]b.将设计好的数据库业务表导入系统中,所述系统通过文件流读取数据库业务表文件;
[0027]c.读取文件之后,使用Workbook对excel文件进行解析,首先获取excel中的工作簿,然后解析工作簿中的内容,并存放至TableObject中;
[0028]d.内容解析之后,调用sql模板引擎,自动生成建表sql语句;sql引擎内部实现逻辑为:根据选择的数据类型,先确定sql语句的格式,然后再根据excel中的表名称,字段名称以及字段类型,来组织sql语句,组织结束之后,将组织的内容写到表名称.sql文件中;
[0029]调用dao,service,controller模板引擎,自动生成dao层、service层、controller层和前端页码的程序代码;
[0030]系统在生成业务代码后,根据所述数据库业务表解析出的工作簿内容的数据设计配置,自动生成前端页面代码。
[0031]本专利技术具有如下的优点和有益效果:
[0032]本专利技术提出了一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于数据库表的代码自动生成系统,其特征在于,包括读取解析模块、模板引擎存储模块和代码生成模块;所述读取解析模块,用于读取导入系统的数据库业务表,获取所述数据库业务表中的工作簿,然后解析工作簿中的内容,并将解析出的工作簿内容发送给所述代码生成模块;所述模板引擎存储模块用于存储sql模板引擎、dao层模板引擎、service层模板引擎、controller层模板引擎和页面模板引擎;所述代码生成模块从所述模板引擎存储模块中调用sql模板引擎,所述sql模板引擎根据所述读取解析模块解析出的工作簿内容,自动生成建表sql语句;所述代码生成模块从所述模板引擎存储模块中分别调用dao层模板引擎、service层模板引擎、controller层模板引擎和页面模板引擎,所述dao层模板引擎、service层模板引擎、controller层模板引擎和页面模板引擎分别根据所述读取解析模块解析出的工作簿内容,自动生成dao层、service层、controller层和前端页码的程序代码。2.根据权利要求1所述的一种基于数据库表的代码自动生成系统,其特征在于,所述数据库业务表由开发者根据数据库表的excel模板设计而成,所述数据库业务表包括业务表名称、字段中文名、字段英文名、数据类型、数据长度、是否需要在前端页面展示和是否需要提供查询条件。3.根据权利要求2所述的一种基于数据...

【专利技术属性】
技术研发人员:梁海洋谢敏张弦弦赵一鸣李东海
申请(专利权)人:中国兵器装备集团自动化研究所有限公司
类型:发明
国别省市:

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

1