首页 / 专利库 / 辅助设备 / 编组站 / 驼峰 / 代码文件的生成方法、装置、计算设备和存储介质

代码文件的生成方法、装置、计算设备和存储介质

阅读:120发布:2021-06-04

专利汇可以提供代码文件的生成方法、装置、计算设备和存储介质专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种代码文件的生成方法、装置、计算设备和存储介质,涉及代码开发技术领域,用以解决如何高效的生成代码文件问题。该方法中根据 数据库 配置信息中的链接信息链接数据库;从链接的数据库中获取数据库表名,并展示在表信息页面中;之后根据用户对表信息页面中的数据库表名的选择操作,展示配置界面,在该配置界面中用户可以选择配置前端页面中的页面元素,选择代码文件类型;该类型中包括前端代码文件和后端代码文件;之后根据用户操作结果,生成代码文件。故此,本申请可以同时为用户生成前端和后端代码文件,并支持选择不同类型的数据库,且最终生成的代码文件可根据用户的选择生成多种。,下面是代码文件的生成方法、装置、计算设备和存储介质专利的具体信息内容。

1.一种代码文件的生成方法,其特征在于,所述方法包括:
获取数据库配置信息;根据数据库配置信息中的链接信息,链接数据库;
根据数据库配置信息中的数据库类型,从链接的数据库中获取数据库表名;
将数据库表名展示在表信息页面中;根据用户对表信息页面中的数据库表名的选择操作,展示选择的数据库表的配置界面,该配置界面中包括用于配置前端页面中的页面元素的配置项,和代码文件类型的选择项;该代码文件类型中包括前端代码文件和后端代码文件的文件类型;
根据用户对配置项和选择项的操作、以及链接的数据库类型,生成选择的数据库表的代码文件,其中,生成的代码文件的类型为选择的文件类型。
2.根据权利要求1所述的方法,其特征在于,生成选择的数据库表的代码文件包括:
从预先获取的代码生成配置信息中获取代码文件的在其所在项目的存储目录;
调用代码生成器生成选择的数据库表的代码文件,并将生成的代码文件存储在所述存储目录中。
3.根据权利要求1所述的方法,其特征在于,根据数据库配置信息中的数据库类型,从链接的数据库中获取数据库表名包括:
若数据库类型为Oracle,则获取数据库的表模式;并根据表模式,获取数据库表名;
若数据库类型为MySQL,则获取数据库表名。
4.根据权利要求1-3中任一所述的方法,其特征在于,根据用户对表信息页面中的数据库表名的选择操作,展示选择的数据库表的配置界面包括:
获取选择的数据库表的各字段的字段名称、字段类型、字段说明并对应展示;以及,针对每个字段,展示针对该字段的配置项,配置项包括列宽、是否显示、是否查询、数据字典和是否必填;
其中,所述列宽用于供用户设置在前端页面中显示时该字段所需的列宽;
所述是否显示用于用户设置是否在前端页面中展示该字段;所述是否查询用于用户设置该字段是否作为查询条件;所述数据字典用于用户设置该字段使用的数据字典的标识;
所述是否必填用于用户设置在前端页面中修改该字段所在的数据库表时,该字段是否为必填项。
5.根据权利要求4所述的方法,其特征在于,所述根据用户对配置项和选择项的操作、以及链接的数据库类型,生成选择的数据库表的代码文件包括:
获取配置页面上待生成代码的指定字段;针对每个指定字段,整理各代
码文件类型所需的指定字段;并根据预设的数据类型和格式化操作的对应关系,将该字段进行相应的格式化操作;
根据格式化操作后的指定字段生成选择的文件类型的代码文件。
6.根据权利要求5所述的方法,其特征在于,针对每个指定字段信息,根据预设的数据类型和格式化操作的对应关系,将该字段信息进行相应的格式化操作包括:
针对每个指定字段执行:
若该字段的数据类型为时间型data或者时间戳型timestamp,则将该字段导入Java工具类java.util.*的包中;
若该字段的数据类型为二进制大对象blob或者字符型char,则将该字段导入Java连接数据库类java.util.*的包中;
若该字段的字段名称中含有大写字母和下划线,则将该字段的字段名称转换成驼峰型字段;
若该字段的数据类型为非Java的数据类型,则将其转换成对应的Java数据类型。
7.根据权利要求6所述的方法,其特征在于,根据格式化操作后的指定字段生成选择的文件类型的代码文件包括:
若生成实体entity类型文件,则通过Java的StringBuff,将待生成的entity文件的所属包、需要引入的包、类注释和类名添加到用于生成entity类型文件的第一指定变量中;
根据第一指定变量,针对每个entity类型文件所需的指定字段,生成属性信息和方法;
当确定entity类型文件所需的各指定字段均生成了对应的属性信息和方法后,生成entity文件。
8.根据权利要求6所述的方法,其特征在于,根据格式化操作后的指定字段生成选择的文件类型的代码文件包括:
若生成Service类型文件,则根据代码生成配置信息,将接口类所属包、需要引入的包类名加入接口类变量中,以及将实现类所属包、需要引入的包类名加入实现类变量中;
针对Service类型文件所需的每个指定字段,根据接口类变量生成接口类对应的用于增删改查数据库的接口,以及根据实现类变量生成增删改查实现方法;
根据生成的接口生成接口类文件,以及根据实现方法生成实现类文件。
9.根据权利要求6所述的方法,其特征在于,根据格式化操作后的指定字段生成选择的文件类型的代码文件包括:
若生成控制controller类型文件,则根据代码生成配置信息,将controller类型所属包、需要引入的包、类注释和类名接入预设的用于controller类型文件的第二指定变量;
将代码生成配置信息中包括的生成controller类型文件所需注入的类加入到第二指定变量中;
将页面跳转控制功能、页面的查询功能、删除功能和更新功能加入到第二指定变量中;
根据第二指定变量和controller类型所需的每个指定字段,生成controller类型文件。
10.根据权利要求6所述的方法,其特征在于,根据格式化操作后的指定字段生成选择的文件类型的代码文件包括:
若生成JSP文件,则根据代码生成配置信息获取JSP文件通用配置,并引入通用样式和插件
针对JSP文件所需的每个指定字段,配置easyUI的datagrid的信息,生成前端页面的属性信息;
生成前端页面的指定位置处的按钮操作事件方法,得到JSP文件。
11.根据权利要求10所述的方法,其特征在于,针对JSP文件所需的每个指定字段,配置easyUI的datagrid的信息,生成前端页面的属性信息包括:
针对JSP文件所需的每个指定字段,判断该指定字段是否为日期型Data字段;
若是Data字段,则添加日期;对添加日期后的指定字段和非Data类型的指定字段执行:
根据是否查询字段确定该指定字段是否作为查询条件,若作为查询条件则设置该指定字段的查询方式,若不作为查询条件,则设置该指定字段为非查询字段;以及,根据是否显示字段确定该指定字段是否需要显示,若需要显示则设置该指定字段为显示字段,若不需要显示则设置该指定字段为不显示字段;以及,根据数据字典字段,若确定该指定字段包含数据字典的标识,则根据数据字典的标识为该指定字段设置数据字典信息。
12.一种代码文件的生成装置,其特征在于,所述装置包括:
数据库配置信息获取模,用于获取数据库配置信息;
连接模块,用于根据数据库配置信息中的链接信息,链接数据库;表名
获取模块,用于根据数据库配置信息中的数据库类型,从链接的数据库中获取数据库表名;表信息展示模块,用于将数据库表名展示在表信息页面中;配置界面展示模块,用于根据用户对表信息页面中的数据库表名的选择操作,展示选择的数据库表的配置界面,该配置界面中包括用于配置前端页面中的页面元素的配置项,和代码文件类型的选择项;该代码文件类型中包括前端代码文件和后端代码文件的文件类型;
代码文件生成模块,用于根据用户对配置项和选择项的操作、以及链接的数据库类型,生成选择的数据库表的代码文件,其中,生成的代码文件的类型为选择的文件类型。
13.一种计算机可读介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1-11中任一权利要求所述的方法。
14.一种计算设备,其特征在于,包括:至少一
个处理器;以及与所述至少一个处理器通信连接
存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-11中任一权利要求所述的方法。

说明书全文

代码文件的生成方法、装置、计算设备和存储介质

[0001] 技术领域 本申请涉及计算机软件研发技术领域,尤其涉及代码文件的生成方法、装置、计算设备和存储介质。
[0002] 背景技术 随着信息化的推进,软件研发的需求越来多,尽管每年很多人投入到软件研发,但软件研发的缺口还是非常大。在资源不足的情况,又需要约定交货期内交付软件产品,这对于中小软件企业造成不小压
[0003] 在软件研发编码提升效率方面,前人已经做了代码生成工具,提升了编码效率。而现有的这些工具较为局限性,需要人工干预的地方还是很多,而且干预的操作比较复杂。对于现有的代码生成器存在以下几点不足:
[0004] 1、仅能生成前端的代码文件或后端的代码文件。
[0005] 2、只能支持一种类型的数据库
[0006] 3、只能生成一种类型的代码文件。故此,现有技术中生成代码文件的效率还有待提高。
[0007] 发明内容 本申请实施例提供代码文件的生成方法、装置、计算设备和存储介质,用于推广社交网络空间。第一方面,本申请实施例提供一种代码文件的生成,该方法包括:获取数据库配置信息;根据数据库配置信息中的链接信息,链接数据库;
[0008] 根据数据库配置信息中的数据库类型,从链接的数据库中获取数据库表名;
[0009] 将数据库表名展示在表信息页面中;
[0010] 根据用户对表信息页面中的数据库表名的选择操作,展示选择的数据库表的配置界面,该配置界面中包括用于配置前端页面中的页面元素的配置项,和代码文件类型的选择项;该代码文件类型中包括前端代码文件和后端代码文件的文件类型;
[0011] 根据用户对配置项和选择项的操作、以及链接的数据库类型,生成选择的数据库表的代码文件,其中,生成的代码文件的类型为选择的文件类型。
[0012] 本申请实施例还提供一种代码文件的生成装置,该装置包括:数据库配置信息获取模,用于获取数据库配置信息;连接模块,用于根据数据库配置信息中的链接信息,链接数据库;表名获取模块,用于根据数据库配置信息中的数据库类型,从链接的数据库中获取数据库表名;表信息展示模块,用于将数据库表名展示在表信息页面中;配置界面展示模块,用于根据用户对表信息页面中的数据库表名的选择操作,展示选择的数据库表的配置界面,该配置界面中包括用于配置前端页面中的页面元素的配置项,和代码文件类型的选择项;该代码文件类型中包括前端代码文件和后端代码文件的文件类型;
[0013] 代码文件生成模块,用于根据用户对配置项和选择项的操作、以及链接的数据库类型,生成选择的数据库表的代码文件,其中,生成的代码文件的类型为选择的文件类型。
[0014] 本申请另一实施例还提供了一种计算设备,包括至少一个处理器;以及[0015] 与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例提供的任一代码文件的生成方法。
[0016] 本申请另一实施例还提供了一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行本申请实施例中的任一代码文件的生成方法。
[0017] 本申请实施例提供的代码文件的生成方法、装置、计算设备和存储介质,可以同时为用户生成前端和后端代码文件,并支持选择不同类型的数据库。且最终生成的代码文件可根据用户的选择生成多种类型的代码文件。
[0018] 本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0019] 附图说明 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0020] 图1为本申请实施例中的代码文件的生成方法的流程示意图;
[0021] 图2为数据库配置信息的示意图;
[0022] 图3为本申请实施例中代码生成配置信息的示意图;
[0023] 图4为本申请实施例中配置界面的示意图;
[0024] 图5为本申请实施例中entity文件的生成流程图
[0025] 图6-7为本申请实施例中Service类型文件的生成的流程图;
[0026] 图8为本申请实施例中生成前端页面的属性信息
[0027] 图9为本申请实施例中获取数据库表信息的流程示意图;
[0028] 图10所示为本申请实施例中显示数据库表名的示意图;
[0029] 图11所示为本申请实施例中显示选择数据库表的示意图;
[0030] 图12所示为本申请实施例中显示选择的数据库表的结果示意图;
[0031] 图13所示为本申请实施例中文件类型的选择界面的示意图;
[0032] 图14为本申请实施例中对各类型的代码文件所需的字段进行格式化的示意图;
[0033] 图15-16本申请实施例中成entity文件的示意图;
[0034] 图17为本申请实施例中接口类文件的生成流程示意图;
[0035] 图18所示为本申请实施例中实现类文件的生成流程示意图;
[0036] 图19所示为controller文件的生成流程示意图;
[0037] 图20-23所示为本申请实施例中生成的controller文件的示意图;
[0038] 图24为本申请实施例中生成列表页面的流程示意图图;
[0039] 图25-28为本申请实施例中列表页面的生成代码的示意图;
[0040] 图29-31所示为申请实施例中明细页面的源码文件;
[0041] 图32为本申请实施例中为后端代码文件的存储位置示意图;
[0042] 图33为本申请实施例中生成的前端代码文件的存储位置示意图;
[0043] 图34为本申请实施例中列表页面的示意图;
[0044] 图35为本申请实施例中新增页面的示意图;
[0045] 图36为本申请实施例中修改页面的示意图;
[0046] 图37为本申请实施例中查看页面的示意图;
[0047] 图38为本申请实施例中查询功能页面的示意图;
[0048] 图39为本申请实施例中删除操作的示意图;
[0049] 图40为本申请实施例中删除后的应答页面的示意图;
[0050] 图41为本申请实施例中的代码文件的生成装置的结构示意图;
[0051] 图42为根据本申请实施方式的计算设备的结构示意图。
[0052] 具体实施方式 为了进行信息推广,本申请实施例中提供一种代码文件的生成方法、装置、计算设备和存储介质。为了更好的理解本申请实施例提供的技术方案,这里对该方案的基本原理做一下简单说明:
[0053] 本申请实施例中基于Spring+SrpingMVC+Hibernate+EasyUI架构研发了通过人机交互界面+代码生成器即可生成代码文件的方案。具体的,本申请中包括两种配置信息,一是代码生成配置信息,二是数据库配置信息。数据库配置信息中包含了数据库类型和数据库的连接信息。基于数据库链接信息可以链接数据库。由于不同类型的数据库获取表信息的方式不同,所以根据数据库类型可以准确的获取数据库表,从而实现针对不同类型数据库的操作。
[0054] 人机交互界面中展示了数据库表名,这样用户选择需要生成代码的数据库表,并通过人机交互界面中用户设置的生成前端页面所需的信息,即可生成前端页面。人机交互界面中还提供了选择生成的代码文件类型的功能,这样,用户只需执行简单的选择操作即可生成多种类型的代码文件。
[0055] 此外,代码生成配置信息中还包括了生成的各类型代码文件的存储目录,该存储目录为所在项目的目录,这样生成的代码文件无需人工搬迁即可存储到所在项目下。
[0056] 下面结合参照附图对本申请实施例提供的代码文件的生成方法作进一步说明,如图1,为代码文件的生成方法的流程示意图,包括以下步骤:
[0057] 步骤101:获取数据库配置信息;
[0058] 例如图2所示,为数据库配置信息的示意图。
[0059] 步骤102:根据数据库配置信息中的链接信息,链接数据库。
[0060] 步骤103:根据数据库配置信息中的数据库类型,从链接的数据库中获取数据库表名;
[0061] 步骤104:将数据库表名展示在表信息页面中;
[0062] 步骤105:根据用户对表信息页面中的数据库表名的选择操作,展示选择的数据库表的配置界面,该配置界面中包括用于配置前端页面中的页面元素的配置项,和代码文件类型的选择项;该代码文件类型中包括前端代码文件和后端代码文件的文件类型;
[0063] 步骤106:根据用户对配置项和选择项的操作、以及链接的数据库类型,生成选择的数据库表的代码文件,其中,生成的代码文件的类型为选择的文件类型。
[0064] 这样,本申请实施例中,根据数据库配置信息,即可确定数据库类型,可以支持不同类型的数据库,即克服了现有技术中只能适用一种类型的数据库的限制。此外,用户通过简单的界面交互,例如选择操作,即可指定需要生成代码的数据库表,和生成的代码文件类型,即可基于代码生成器生成代码文件。且代码文件的类型可以涵盖前端代码和后端代码,这样既相当于实现了前端和后端代码的“一键”实现功能。这样,代码文件的生成仅需要配置信息,可简单的操作即可实现,提高了代码的生成效率,降低了生成代码过程中的人员参与程度。
[0065] 进一步的,本申请实施例中,为了克服现有技术中生成代码文件后还需要人工按照项目目录搬迁代码,而人工搬迁代码需要从结构复杂的多个目录中查找,查找不便,且搬迁代码需要耗费计算资源进行拷贝。本申请实施例中,为了避免人工搬迁不便,且容易出错,且为了减少搬迁代码带来的处理资源的耗费,还包括有代码生成配置信息。具体的,可以从预先获取的代码生成配置信息中获取代码文件的在其所在项目的存储目录;然后调用代码生成器生成选择的数据库表的代码文件,并将生成的代码文件存储在所述存储目录中。
[0066] 代码生成配置信息的示意图可以如图3所示。这样,代码文件就生成在所在项目的目录下,无需人工搬迁代码。
[0067] 进一步的,为了适用不同类型的数据库,本申请实施例中根据数据库配置信息中的数据库类型,从链接的数据库中获取数据库表名包括:
[0068] 若数据库类型为Oracle,则获取数据库的表模式;并根据表模式,获取数据库表名;
[0069] 若数据库类型为MySQL,则获取数据库表名。当然,其他类型的数据库可以根据实际需要确定获取数据库表名的方法,均适用于本申请实施例。进一步的,为了便于根据用户的需求生成前端页面,有一些页面中的信息需要用户配置,如图4所示,为配置界面的示意图。根据该配置界面本申请实施例中在显示配置界面时可执行为:
[0070] 步骤A1:获取选择的数据库表的各字段的字段名称、字段类型、字段说明并对应展示。
[0071] 其中,需要说明的是,步骤A1和步骤A2的执行顺序不受限。
[0072] 步骤A2:针对每个字段,展示针对该字段的配置项,配置项包括列宽、是否显示、是否查询、数据字典和是否必填;
[0073] 其中,所述列宽用于供用户设置在前端页面中显示时该字段所需的列宽;所述是否显示用于用户设置是否在前端页面中展示该字段;所述是否查询用于用户设置该字段是否作为查询条件;所述数据字典用于用户设置该字段使用的数据字典的标识;所述是否必填用于用户设置在前端页面中修改该字段所在的数据库表时,该字段是否为必填项。进一步的,为了便于生成不同类型的代码文件,本申请实施例中,所述根据用户对配置项和选择项的操作、以及链接的数据库类型,生成选择的数据库表的代码文件包括:
[0074] 步骤B1:获取配置页面上待生成代码的指定字段;
[0075] 步骤B2:针对每个指定字段,整理各代码文件类型所需的指定字段;并根据预设的数据类型和格式化操作的对应关系,将该字段进行相应的格式化操作;
[0076] 具体执行时步骤B2可包括:
[0077] 针对每个指定字段执行:
[0078] 若该字段的数据类型为时间型data或者时间戳型timestamp,则将该字段导入Java工具类java.util.*的包中;
[0079] 若该字段的数据类型为二进制大对象blob或者字符型char,则将该字段导入Java连接数据库类java.util.*的包中;
[0080] 若该字段的字段名称中含有大写字母和下划线,则将该字段的字段名称转换成驼峰型字段;
[0081] 若该字段的数据类型为非Java的数据类型,则将其转换成对应的Java数据类型。
[0082] 步骤B3:根据格式化操作后的指定字段生成选择的文件类型的代码文件。
[0083] 这样,格式化转换能够满足代码文件的生成要求,使得代码文件的生成能够顺利进行。
[0084] 进一步的文件类型可包括实体entity类型文件、Service类型文件、控制controller类型文件和JSP类型文件。针对每种类型的文件生成可执行为:
[0085] 1)、若生成实体entity类型文件,则通过Java的StringBuff,将待生成的entity文件的所属包、需要引入的包、类注释和类名添加到用于生成entity类型文件的第一指定变量中;根据第一指定变量,针对每个entity类型文件所需的指定字段,生成属性信息和方法;当确定entity类型文件所需的各指定字段均生成了对应的属性信息和方法后,生成entity文件。
[0086] 当进一步根据代码配置信息存放生成的代码文件时,entity文件的生成流程图可如图5所示。
[0087] 2)、若生成Service类型文件,则根据代码生成配置信息,将接口类所属包、需要引入的包类名加入接口类变量中,以及将实现类所属包、需要引入的包类名加入实现类变量中;针对Service类型文件所需的每个指定字段,根据接口类变量生成接口类对应的用于增删改查数据库的接口,以及根据实现类变量生成增删改查实现方法;根据生成的接口生成接口类文件,以及根据实现方法生成实现类文件。
[0088] 当进一步根据代码配置信息存放生成的代码文件时,Service类型文件的生成的流程图可如图6和图7所示。
[0089] 3)、若生成控制controller类型文件,则根据代码生成配置信息,将controller类型所属包、需要引入的包、类注释和类名接入预设的用于controller类型文件的第二指定变量;将代码生成配置信息中包括的生成controller类型文件所需注入的类加入到第二指定变量中;将页面跳转控制功能、页面的查询功能、删除功能和更新功能加入到第二指定变量中;根据第二指定变量和controller类型所需的每个指定字段,生成controller类型文件。
[0090] 4)、若生成JSP文件,则根据代码生成配置信息获取JSP文件通用配置,并引入通用样式和插件;针对JSP文件所需的每个指定字段,配置easyUI的datagrid的信息,生成前端页面的属性信息;生成前端页面的指定位置处的按钮操作事件方法,得到JSP文件。
[0091] 进一步的,参照图8生成前端页面的属性信息包括:针对JSP文件所需的每个指定字段,判断该指定字段是否为日期型Data字段;若是Data字段,则添加日期;对添加日期后的指定字段和非Data类型的指定字段执行:
[0092] 根据是否查询字段确定该指定字段是否作为查询条件,若作为查询条件则设置该指定字段的查询方式,若不作为查询条件,则设置该指定字段为非查询字段;以及,根据是否显示字段确定该指定字段是否需要显示,若需要显示则设置该指定字段为显示字段,若不需要显示则设置该指定字段为不显示字段;以及,根据数据字典字段,若确定该指定字段包含数据字典的标识,则根据数据字典的标识为该指定字段设置数据字典信息。
[0093] 为进一步理解本申请实施例提供的技术方案,下面以一个具体的实施例对此进行说明。
[0094] 首先用户根据图2和图3生成数据库配置信息和代码生成配置信息。然后由计算机读取数据库配置信息和代码生成配置信息。如图9所述为获取数据库表信息的流程示意图。在获取数据库表信息之后,展示数据库表名,展示的页面如图10所示。
[0095] 如图11所示用户可以在页面中选择需要生成代码的数据库表。选择的结果显示界面如图12所示。
[0096] 在用户选择数据库表之后,根据选择的数据库表,获取数据库表的字段信息,包含字段名称、字段类型、字段说明。其中,字段名称为数据库中设计的字段名称;字段类型展示的数据库类型;字段说明展示的数据库设计中的备注。
[0097] 然后将获取的数据库表字段信息(字段名称、字段类型、字段说明)及其他信息生成源码所需的信息(列宽、是否显示、是否查询、数据字典、是否必填)展示在页面上。展示的效果图如图4所示。
[0098] 在图4所示的界面中,用户还可以选择要生成的代码文件的文件类型。该类型如图13所示。其中,默认情况下、系统会生成6个文件,其中entity文件1个、service文件2个(1个接口类和1个实现类)、controller文件1个、JSP文件2个(1个列表文件和1个明细文件)。
[0099] 其中entity文件、service文件、controller文件为后端文件;JSP文件为前端文件。
[0100] 当用户提交选择的文件类型时,系统会认为接收到了生成代码文件的指令。然后执行如图14所示的操作。即对各类型的代码文件所需的字段进行整理格式化,然后生成相应的文件。
[0101] 具体的,各类型的文件生成,这里再进一步进行说明。
[0102] 1)字段信息的格式化字段信息格式化为将需要生成源码的信息进行格式化、包含以下四个内容:
[0103] 1)判断是否需要导入java.util.*的包
[0104] 字段中数据库类型为date或者timestamp时,则需要导入java.util.*的包;
[0105] 2)判断是否需要导入java.sql.*的包
[0106] 字段中数据库类型为blob或char时,则需要导入java.sql.*的包;
[0107] 3)将数据库字段抓成驼峰型字段将数据库字段名称含大写和下划线,转成驼峰型字段,如USER_NAME转成userName;
[0108] 4)将数据库字段类型转换成java数据类型
[0109] 将数据库类型转换成java数据类型,如VARCHAR2转成String等。格式化之后,进入生成个类型的文件的环节。
[0110] 1)生成entity文件
[0111] 具体实施时可以通过StringBuff根据代码生成器的配置信息将entity文件的所属包、需要引入的包、类注释、类名的信息添加到待生成的变量中。生成流程已在图5和前述文件中说明,这里提供生成entity文件的示例,该示例如图15和图16所示。
[0112] 2)、生成service文件
[0113] 如前所述,Service文件包含一个接口类和一个实现类,主要用于实现增删改查功能。生成的流程已在图6和图7中说明,这里提供生成Service文件的示例,该示例如图17和图18所示。图17为接口类文件的示例,图18为实现类文件的示例。
[0114] 3)生成controller文件
[0115] Controller文件主要用于生成增删改查功能的跳转控制的类。假设前端页面包括列表页面,新增/编辑页面和查看页面。则该类文件的生成流程图可如图19所示。
[0116] 生成的controller文件的示例如图20-23所示。
[0117] 4)生成JSP文件
[0118] JSP文件为前端显示页面文件,包含列表页面和明细页面。
[0119] (1)列表页面列表页面为展示该表的增删改查的功能入口。其中查询功能及查询结果直接展示在该页面上。新增、删除、修改、查看为通过按钮实现。且按钮可通过配置来限定权限。
[0120] 生成列表页面的流程可如图24所示。列表页面的生成代码可如图25-28所示。
[0121] (2)明细页面明细页面包含新增、修改及查看的功能,共用一个页面通过属性来控制不同的模式(新增模式/修改模式/查看模式)。
[0122] 生成明细页面的流程可参照列表页面这里不再赘述。生成明细页面的源码文件可如图29-31所示。
[0123] 针对各类型的代码文件,代码生成器可以根据代码生配置信息将生成的代码文件存放到项目下。如图32所示,为后端代码文件的存储位置示意图。如图33所示,为生成的前端代码文件的存储位置示意图。
[0124] 重启服务器后,不修改代码即可完成增删改查功能。具体的,如图34所示,为前述生成的列表页面的示意图。图35所示,为新增页面的示意图。图36所示,为修改页面的示意图。图37所示,为查看页面的示意图。图38所示,为查询功能页面的示意图。图39所示为删除操作的示意图。图40所示为删除后的应答页面的示意图。
[0125] 基于相同的发明构思,本申请实施例还提供一种代码文件的生成装置。如图41所示,该装置包括:
[0126] 数据库配置信息获取模块4101,用于获取数据库配置信息;
[0127] 连接模块4102,用于根据数据库配置信息中的链接信息,链接数据库;
[0128] 表名获取模块4103,用于根据数据库配置信息中的数据库类型,从链接的数据库中获取数据库表名;
[0129] 表信息展示模块4104,用于将数据库表名展示在表信息页面中;配置界[0130] 面展示模块4105,用于根据用户对表信息页面中的数据库表名的选择操作,展示选择的数据库表的配置界面,该配置界面中包括用于配置前端页面中的页面元素的配置项,和代码文件类型的选择项;该代码文件类型中包括前端代码文件和后端代码文件的文件类型;
[0131] 代码文件生成模块4106,用于根据用户对配置项和选择项的操作、以及链接的数据库类型,生成选择的数据库表的代码文件,其中,生成的代码文件的类型为选择的文件类型。
[0132] 进一步的,代码文件生成模块包括:
[0133] 存储目录确定单元,用于从预先获取的代码生成配置信息中获取代码文件的在其所在项目的存储目录;生成单元,用于调用代码生成器生成选择的数据库表的代码文件,并将生成的代码文件存储在所述存储目录中。
[0134] 进一步的,表名获取模块包括:
[0135] Oracle表名获取单元,用于若数据库类型为Oracle,则获取数据库的表模式;并根据表模式,获取数据库表名;
[0136] MySQL表名获取单元,用于若数据库类型为MySQL,则获取数据库表名。
[0137] 进一步的,配置界面展示模块包括:信息获取单元,用于获取选择的数据库表的各字段的字段名称、字段类型、字段说明并对应展示;以及,配置项展示单元,用于针对每个字段,展示针对该字段的配置项,配置项包括列宽、是否显示、是否查询、数据字典和是否必填;其中,所述列宽用于供用户设置在前端页面中显示时该字段所需的列宽;所述是否显示用于用户设置是否在前端页面中展示该字段;所述是否查询用于用户设置该字段是否作为查询条件;所述数据字典用于用户设置该字段使用的数据字典的标识;所述是否必填用于用户设置在前端页面中修改该字段所在的数据库表时,该字段是否为必填项。进一步的,代码文件生成模块包括:指定字段获取单元,用于获取配置页面上待生成代码的指定字段;格式化单元,用于针对每个指定字段,整理各代码文件类型所需的指定字段;并根据预设的数据类型和格式化操作的对应关系,将该字段进行相应的格式化操作;
[0138] 代码文件生成单元,用于根据格式化操作后的指定字段生成选择的文件类型的代码文件。
[0139] 进一步的,格式化单元用于:
[0140] 针对每个指定字段执行:
[0141] 若该字段的数据类型为时间型data或者时间戳型timestamp,则将该字段导入Java工具类java.util.*的包中;
[0142] 若该字段的数据类型为二进制大对象blob或者字符型char,则将该字段导入Java连接数据库类java.util.*的包中;
[0143] 若该字段的字段名称中含有大写字母和下划线,则将该字段的字段名称转换成驼峰型字段;
[0144] 若该字段的数据类型为非Java的数据类型,则将其转换成对应的Java数据类型。
[0145] 进一步的,代码文件生成单元用于:
[0146] 若生成实体entity类型文件,则通过Java的StringBuff,将待生成的entity文件的所属包、需要引入的包、类注释和类名添加到用于生成entity类型文件的第一指定变量中;
[0147] 根据第一指定变量,针对每个entity类型文件所需的指定字段,生成属性信息和方法;
[0148] 当确定entity类型文件所需的各指定字段均生成了对应的属性信息和方法后,生成entity文件。
[0149] 进一步的,代码文件生成单元用于:
[0150] 若生成Service类型文件,则根据代码生成配置信息,将接口类所属包、需要引入的包类名加入接口类变量中,以及将实现类所属包、需要引入的包类名加入实现类变量中;
[0151] 针对Service类型文件所需的每个指定字段,根据接口类变量生成接口类对应的用于增删改查数据库的接口,以及根据实现类变量生成增删改查实现方法;
[0152] 根据生成的接口生成接口类文件,以及根据实现方法生成实现类文件。
[0153] 进一步的,代码文件生成单元用于:
[0154] 若生成控制controller类型文件,则根据代码生成配置信息,将controller类型所属包、需要引入的包、类注释和类名接入预设的用于controller类型文件的第二指定变量;
[0155] 将代码生成配置信息中包括的生成controller类型文件所需注入的类加入到第二指定变量中;
[0156] 将页面跳转控制功能、页面的查询功能、删除功能和更新功能加入到第二指定变量中;
[0157] 根据第二指定变量和controller类型所需的每个指定字段,生成controller类型文件。进一步的,代码文件生成单元用于:
[0158] 若生成JSP文件,则根据代码生成配置信息获取JSP文件通用配置,并引入通用样式和插件;
[0159] 针对JSP文件所需的每个指定字段,配置easyUI的datagrid的信息,生成前端页面的属性信息;
[0160] 生成前端页面的指定位置处的按钮操作事件方法,得到JSP文件。进一步的,代码文件生成单元用于在针对JSP文件所需的每个指定字段,配置easyUI的datagrid的信息,生成前端页面的属性信息时:
[0161] 针对JSP文件所需的每个指定字段,判断该指定字段是否为日期型Data字段;
[0162] 若是Data字段,则添加日期;对添加日期后的指定字段和非Data类型的指定字段执行:根据是否查询字段确定该指定字段是否作为查询条件,若作为查询条件则设置该指定字段的查询方式,若不作为查询条件,则设置该指定字段为非查询字段;以及,[0163] 根据是否显示字段确定该指定字段是否需要显示,若需要显示则设置该指定字段为显示字段,若不需要显示则设置该指定字段为不显示字段;以及,
[0164] 根据数据字典字段,若确定该指定字段包含数据字典的标识,则根据数据字典的标识为该指定字段设置数据字典信息。
[0165] 在介绍了本申请示例性实施方式的代码文件的生成方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的计算装置。
[0166] 所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0167] 在一些可能的实施方式中,根据本申请的计算装置可以至少包括至少一个处理器、以及至少一个存储器(如前述的第一服务器)。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的系统权限开启方法中的步骤。例如,处理器可以执行如图1中所示的步骤101-106。
[0168] 下面参照图42来描述根据本申请的这种实施方式的计算装置420。图42显示的计算装置420仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0169] 如图42所示,计算装置420以通用计算设备的形式表现。计算装置420的组件可以包括但不限于:上述至少一个处理器421、上述至少一个存储器422、连接不同系统组件(包括存储器422和处理器421)的总线423。
[0170] 总线423表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0171] 存储器422可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)4221和/或高速缓存存储器4222,还可以进一步包括只读存储器(ROM)4223。
[0172] 存储器422还可以包括具有一组(至少一个)程序模块4224的程序/实用工具4225,这样的程序模块4224包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0173] 计算装置420也可以与一个或多个外部设备424(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置420交互的设备通信,和/或与使得该计算装置420能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口425进行。并且,计算装置420还可以通过网络适配器426与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器426通过总线423与用于计算装置420的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置420使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0174] 在一些可能的实施方式中,本申请提供的代码文件的生成方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的待验证信息的加密方法和/或待验证信息的验证方法中的步骤,例如,计算机设备可以执行如图1中所示的步骤101-103。
[0175] 程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0176] 本申请的实施方式的用于系统权限开启的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0177] 可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0178] 可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0179] 可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0180] 应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
[0181] 此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0182] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0183] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0184] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0185] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0186] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈