一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

代码生成方法及代码生成装置与流程

2021-11-29 13:22:00 来源:中国专利 TAG:


1.本发明属于计算机技术领域,尤其涉及一种代码生成方法及代码生成装置。


背景技术:

2.现有的代码生成器一次只能生成单个表,且只能生成对应的实体类及一些固定的简单类,不够灵活。
3.在需要生成多个表单或者实现不同的功能时,需要软件技术人员编写相关的代码,效率低下,且因为软件技术人员的不同,导致出现编写的代码风格也不同,不易于后期维护。


技术实现要素:

4.本发明所要解决的技术问题在于提供一种代码生成方法及代码生成装置,旨在解决现有技术代码编写麻烦,效率低下,不易于后期维护的问题。
5.本发明是这样实现的,一种代码生成方法,包括:
6.响应于在第一界面选择数据源的操作,在第二界面显示所述数据源对应的数据表格;
7.响应于对所述数据表格的选择操作,获取所述选择操作的表字段信息;
8.根据所述表字段信息,从第一存储位置读取所述表字段信息对应的代码模板;
9.根据所述表字段信息更新所述代码模板中的目标变量;
10.将更新目标变量后的所述代码模板按照预设格式进行转换,得到目标代码。
11.进一步地,所述代码生成方法还包括:
12.通过预设生成引擎创建若干初始模板;
13.将若干所述初始模板中的可变内容设置为可变变量,得到若干代码模板;
14.将若干所述代码模板保存至所述第一存储位置;
15.其中,若干所述代码模板包括前端代码模板、后段代码模板和数据库脚本代码模板。
16.进一步地,所述预设生成引擎为velocity引擎。
17.进一步地,所述响应于在第一界面选择数据源的操作,在第二界面显示所述数据源对应的数据表格包括:
18.响应于数据源选择操作,在所述第一界面中展示数据源列表,所述数据源中包括若干数据源;
19.响应于对所述数据源列表中的目标数据源的选中操作,读取所述第一存储位置,获取所述第一存储位置中保存的所述目标数据源对应的数据表格;
20.在所述第二界面显示所述目标数据源对应的数据表格,其中,所述数据表格中包含若干表字段,所述数据表格对应所述第一存储位置中的目标表数据库,所述目标数据库中保存有所述若干表字段对应的代码模板。
21.进一步地,所述响应于对所述数据表格的选择操作,获取所述选择操作的表字段信息包括:
22.在检测到对所述数据表格中的选择操作时,判断所述选择操作是否为对所述数据表格中的表字段的选中操作;
23.若是,则获取所述选中操作的目标表字段,以所述目标表字段的名称确定所述表字段信息,其中,所述表字段信息包括字段名、字段类型和字段说明。
24.进一步地,所述根据所述表字段信息更新所述代码模板中的目标变量包括:
25.将所述代码模板中的目标变量替换成所述表字段信息。
26.进一步地,所述将更新目标变量后的所述代码模板按照预设格式进行转换,得到目标代码包括:
27.将更换目标变量后的所述代码模板转换成java类文件,得到所述目标代码。
28.进一步地,所述得到所述目标代码之后,还包括:
29.对所述目标代码进行压缩,得到目标代码包,将所述目标代码包保存至第二存储位置。
30.本发明实施例还提供了一种代码生成装置,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述所述的代码生成方法中的各个步骤。
31.本发明实施例还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述所述的代码生成方法中的各个步骤。
32.本发明与现有技术相比,有益效果在于:本发明实施例提供的代码生成方法通过响应在第一界面选择数据源的操作,在第一界面显示该数据源对应的数据表格,并响应于对该数据表格的选择操作,获取该选择操作的表字段信息,根据该表字段信息从第一存储位置读取对应的代码模板,并根据该表字段信息更新该代码模板中的目标变量,最后将更新目标变量后的代码模板进行转换,得到目标代码。本发明实施例能够提供多种具有变量的代码模板,在用户选择相应的数据源及表字段信息后,即可根据选择结果确定代码模板,并且将代码模板中的变量更新为表字段信息后即可得到目标代码,极大节省了开发时间并且统一了代码风格,易于后期维护。
附图说明
33.图1是本发明实施例提供的代码生成方法的流程图;
34.图2是本发明实施例提供的代码生成装置的结构示意图。
具体实施方式
35.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
36.本发明实施例公开了一种根据数据库表生成对应代码的代码生成方法及代码生成装置。本发明实例提供的代码生成方法主要包括:数据库配置保存,可选择不同的数据源,一次可以选择多个表,可以动态指定包名,动态选择项目结构,可根据业务需求自定义
生成较为复杂的代码,不仅可以生成后端代码,还可以生成前端代码,数据库脚本等。本实例操作简便,选择数据库表即可导出代码,无需修改拷到项目中即可启动,极大的节省了开发时间并统一了代码风格。
37.图1示出了本发明实施例提供的代码生成方法,包括:
38.s100,响应于在第一界面选择数据源的操作,在第二界面显示所述数据源对应的数据表格。
39.具体地,本步骤具体包括:响应于数据源选择操作,在所述第一界面中展示数据源列表,所述数据源中包括若干数据源;响应于对所述数据源列表中的目标数据源的选中操作,读取所述第一存储位置,获取所述第一存储位置中保存的所述目标数据源对应的数据表格;在所述第二界面显示所述目标数据源对应的数据表格,其中,所述数据表格中包含若干表字段,所述数据表格对应所述第一存储位置中的目标表数据库,所述目标数据库中保存有所述若干表字段对应的代码模板。在本实施例中,用户通过代码生成装置(也称代码生成器)触发代码生成操作,则在开始进行目标代码生成时,在代码生成装置提供的相关操作界面中进行数据源选择操作,该数据源选择操作表示用户需要打开所有的数据源列表并且进行相应的操作,因此,在检测到用户的数据源选择操作时,代码生成装置将显示第一界面,并且在第一界面显示数据源列表,该数据源列表中包括预设能够生成相关代码的数据源的名称。用户在第一界面显示的数据列表中选中相应的数据源,则代码生成装置将以该选中的数据源作为目标数据源读取第一存储位置,该第一存储位置也称之为数据库,该数据库与该目标数据源一一对应,代码生成装置在该数据库中获取该目标数据源对应的数据表格并且在第二界面中显示该数据表格。
40.s200,响应于对所述数据表格的选择操作,获取所述选择操作的表字段信息。
41.在本步骤中,在检测到对所述数据表格中的选择操作时,判断所述选择操作是否为对所述数据表格中的表字段的选中操作;若是,则获取所述选中操作的目标表字段,以所述目标表字段的名称确定所述表字段信息,其中,所述表字段信息包括字段名、字段类型和字段说明。具体地,该数据表格中包括若干表字段,每一个表字段前面均有一个选择框,该选择框被选中,则表示该表字段被选中,当该表字段前面的选择框被选中后,将以该表字段作为目标表字段,根据该表字段的名称确定表字段信息。具体地,每一表字段的名称均不一样,当该表字段被选中后,将根据该表字段的名称确定所选中的表字段信息。
42.s300,根据所述表字段信息,从第一存储位置读取所述表字段信息对应的代码模板。
43.在本步骤中,代码生成装置在确定表字段信息后,将从第一存储位置(即数据库)中读取该表字段信息对应的代码模板,需要说明的是,在本步骤中,该表字段信息可以对应多个代码模板,因此可以根据该表字段信息从该第一存储位置读取多个代码模板。
44.s400,根据所述表字段信息更新所述代码模板中的目标变量。
45.在本步骤中,将所述代码模板中的目标变量替换成所述表字段信息。
46.s500,将更新目标变量后的所述代码模板按照预设格式进行转换,得到目标代码。
47.在本步骤中,将步骤s400中更换目标变量后的所述代码模板转换成java类文件,得到所述目标代码。具体地,在实际应用过程中,在得到该目标代码后,该代码生成装置对所述目标代码进行压缩,得到目标代码包,将所述目标代码包保存至第二存储位置,该压缩
的格式为zip格式,将目标代码进行压缩后生成zip文件后导出值第二存储位置。
48.在代码生成装置进行上述代码生成方法之前,还包括按照设置生成相应的代码模板,具体步骤包括:通过预设生成引擎创建若干初始模板;将若干所述初始模板中的可变内容设置为可变变量,得到若干代码模板;将若干所述代码模板保存至所述第一存储位置;其中,若干所述代码模板包括前端代码模板、后段代码模板和数据库脚本代码模板。具体地,该预设生成引擎为velocity引擎。
49.如图2所述,本发明实施例还提供了一种代码生成装置,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述所述的代码生成方法中的各个步骤。
50.本发明实施例还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述所述的代码生成方法中的各个步骤。
51.下面对本发明实施例进行进一步地说明:
52.1.代码生成装置通过设置,使用velocity引擎创建各代码模板,该代码模板包括前端相关文件、后端相关文件、数据库脚本文件等,并将各代码模板中的可变内容用可变变量替换;
53.2.代码生成装置通过选择的数据源确定与数据库的连接。其中该代码生成装置设置有显示界面,在第一界面可以配置数据源的连接信息,数据源就是数据库的连接信息,代码通过数据源的连接信息来连接数据库,在第一界面选择相应的数据源后,该代码生成装置会跳转到第二界面,该第二界面显示该数据源对应的数据表格。
54.3.代码生成装置确定数据表格中的选中操作,通过选择的表字段,获取表字段信息,该表字段信息包括字段名、字段类型、字段说明等,其中,该数据表格与数据库的相关数据对应,通过对第二界面的选择,选择该数据表格中的表字段,就生成所选择的表字段的相关代码;
55.4.根据表字段信息,动态构造参数变量,结合代码模板生成输出文件。具体地,根据表字段信息,按照预先定义好的代码模版生成的相应的代码文件,本实施例中的代码模版是一种通用的代码,只是有些是可变参数,在本实施中称之为可变变量。生成的目标代码文件就是把代码模版中的可变参数替换成要生成的表字段信息,按照模版生成java的类,内容就是对代码模板中相关内容的增删改查操作;
56.5.将生成的目标代码文件按照包名结构存放,生成zip文件导出,该目标代码文件有很多个,目标代码一般是分层的,有控制层、实体类、服务层、数据库访问层等,该zip压缩文件中包含有生成的目标代码。
57.通过本发明提供的上述实施例,可一次选择多个表,增加使用效率,同时可生成前端、后端、数据库等多种业务需要的代码文件,极大的减少工作量。
58.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
59.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
60.另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
61.所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
62.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
63.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
64.以上为对本发明所提供的一种代码生成方法及代码生成装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献