CN108762743B - 一种数据表操作代码生成方法及装置 - Google Patents

一种数据表操作代码生成方法及装置 Download PDF

Info

Publication number
CN108762743B
CN108762743B CN201810499831.6A CN201810499831A CN108762743B CN 108762743 B CN108762743 B CN 108762743B CN 201810499831 A CN201810499831 A CN 201810499831A CN 108762743 B CN108762743 B CN 108762743B
Authority
CN
China
Prior art keywords
code
data table
file
template
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810499831.6A
Other languages
English (en)
Other versions
CN108762743A (zh
Inventor
解荧
吴玉雁
王建华
肖雪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN201810499831.6A priority Critical patent/CN108762743B/zh
Publication of CN108762743A publication Critical patent/CN108762743A/zh
Application granted granted Critical
Publication of CN108762743B publication Critical patent/CN108762743B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Abstract

本发明提供了一种数据表操作代码生成方法及装置,该方法包括:根据开发人员通过WEB开发工具发送的项目创建指令,创建WEB项目;创建对应于所述WEB项目的代码模板;通过所述WEB开发工具向所述开发人员展示在线代码设计页面;获取所述开发人员通过所述在线代码设计页面输入的数据表操作信息;根据所述代码模板对所述数据表操作信息进行解析,获得对应于所述WEB项目的数据表操作代码。该装置包括:项目创建单元、模板创建单元、页面展示单元、信息获取单元和代码生成单元。本方案能够提高数据表操作代码开发的效率。

Description

一种数据表操作代码生成方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种数据表操作代码生成方法及装置。
背景技术
随着计算机技术的不断发展与进步,自动化办公系统已经得到广泛应用。用户在使用自动化办公系统过程中,经常需要对存储于数据库中的数据表进行增加、删除、修改和查询操作,这就需要开发人员开发相应的数据表操作代码植入自动化办公系统中,用户通过自动化办公系统运行数据表操作代码便可以对数据表进行相应的操作。
目前,开发人员通常使用各种代码编辑器来开发数据表操作代码。
针对目前开发数据表操作代码的方法,代码编辑器提供的快捷键和常用语句在一定程度上可以提升开发人员对数据表操作代码进行开发的效率,但由于数据表操作代码通常包括有大量重复性代码,此时数据表操作代码中大部分代码仍需要开发人员手动编写,导致数据表操作代码开发的效率较低。
发明内容
本发明实施例提供了数据表操作代码生成方法及装置,能够提高数据表操作代码开发的效率。
第一方面,本发明实施例提供了一种数据表代码生成方法,包括:
根据开发人员通过WEB开发工具发送的项目创建指令,创建WEB项目;
创建对应于所述WEB项目的代码模板;
通过所述WEB开发工具向所述开发人员展示在线代码设计页面;
获取所述开发人员通过所述在线代码设计页面输入的数据表操作信息;
根据所述代码模板对所述数据表操作信息进行解析,获得对应于所述WEB项目的数据表操作代码。
可选地,所述创建对应于所述WEB项目的代码模板,包括:
根据所述WEB项目所对应的SringMVC框架,在模板目录的conf文件夹下创建配置文件代码模板,在所述模板目录的Java文件夹下创建Java文件代码模板,在所述模板目录的jsp文件夹下创建jsp文件代码模板,在所述模板目录的sql文件夹下创建sql文件代码模板;
其中,所述配置文件代码模板用于定义所述数据表操作代码中配置文件代码的生成规则,所述Java文件代码模板用于定义所述数据表操作代码中Java文件代码的生成规则,所述jsp文件代码模板用于定义所述数据表操作代码中jsp文件代码的生成规则,所述sql文件代码模板用于定义所述数据表操作代码中sql文件代码的生成规则。
可选地,所述根据所述代码模板对所述数据表操作信息进行解析,获得对应于所述WEB项目的数据表操作代码,包括:
将所述数据表操作信息转换为schema文件,并对所述schema文件进行存储;
将所述schema文件转换为Table对象;
根据所述配置文件代码模板对所述Table对象进行处理,获得目标配置文件代码;
根据所述Java文件代码模板对所述Table对象进行处理,获得目标Java文件代码;
根据所述jsp文件代码模板对所述Table对象进行处理,获得目标jsp文件代码;
根据所述sql文件代码模板对所述Table对象进行处理,获得目标sql文件代码;
将所述目标配置文件代码、所述目标Java文件代码、所述jsp文件代码和所述sql文件代码确定为所述WEB项目对应的所述数据表操作代码。
可选地,在所述对所述schema文件进行存储之后,且在所述将所述schema文件转换为Table对象之前,进一步包括:
接收所述开发人员通过所述在线代码设计页面发送的操作更新指令;
根据所述操作更新指令将所述schema文件解析为所述数据表操作信息,并通过所述在线代码设计页面对所述数据表操作信息进行展示;
获取所述开发人员对所述数据表操作信息进行更新后的更新数据表操作信息;
将所述更新数据表操作信息转换为新的schema文件,并通过所述新的schema文件对原本存储的所述schema文件进行替换。
可选地,所述获取所述开发人员通过所述在线代码设计页面输入的数据表操作信息,包括:
将所述开发人员通过所述在线代码设计页面定义的整体描述信息和数据表列信息确定为所述数据表操作信息;
其中,所述整体描述信息包括表名、说明、类名、包路径、表单URL和请求路径中的任意一个或多个,所述数据表列信息包括数据表的元数据信息、查询条件信息和校验信息中的任意一个或多个。
第二方面,本发明实施例还提供了一种数据表操作代码生成装置,包括:项目创建单元、模板创建单元、页面展示单元、信息获取单元和代码生成单元;
所述项目创建单元,用于根据开发人员通过WEB开发工具发送的项目创建指令,创建WEB项目;
所述模板创建单元,用于创建与所述项目创建单元创建的所述WEB项目相对应的代码模板;
所述页面展示单元,用于通过所述WEB开发工具向所述开发人员展示在线代码设计页面;
所述信息获取单元,用于获取所述开发人员通过所述页面展示单元所展示的所述在线代码设计页面输入的数据表操作信息;
所述代码生成单元,用于根据所述模板创建单元创建的所述代码模板对所述信息获取单元获取到的所述数据表操作信息进行解析,获得对应于所述WEB项目的数据表操作代码。
可选地,
所述模板创建单元,用于根据所述WEB项目所对应的SringMVC框架,在模板目录的conf文件夹下创建配置文件代码模板,在所述模板目录的Java文件夹下创建Java文件代码模板,在所述模板目录的jsp文件夹下创建jsp文件代码模板,在所述模板目录的sql文件夹下创建sql文件代码模板,其中,所述配置文件代码模板用于定义所述数据表操作代码中配置文件代码的生成规则,所述Java文件代码模板用于定义所述数据表操作代码中Java文件代码的生成规则,所述jsp文件代码模板用于定义所述数据表操作代码中jsp文件代码的生成规则,所述sql文件代码模板用于定义所述数据表操作代码中sql文件代码的生成规则。
可选地,
所述代码生成单元包括:设计器子单元和代码生成引擎子单元;
所述设计器子单元,用于将所述数据表操作信息转换为schema文件,并对所述schema文件进行存储,以及将所述schema文件转换为Table对象;
所述代码生成引擎子单元,用于根据所述配置文件代码模板对所述设计器子单元转换出的所述Table对象进行处理获得目标配置文件代码,根据所述Java文件代码模板对所述设计器子单元转换出的所述Table对象进行处理获得目标Java文件代码,根据所述jsp文件代码模板对所述设计器子单元转换出的所述Table对象进行处理获得目标jsp文件代码,根据所述sql文件代码模板对所述设计器子单元转换出的所述Table对象进行处理获得目标sql文件代码,并将获得的所述目标配置文件代码、所述目标Java文件代码、所述jsp文件代码和所述sql文件代码确定为所述WEB项目对应的所述数据表操作代码。
可选地,
所述设计器子单元,进一步用于接收所述开发人员通过所述在线代码设计页面发送的操作更新指令,并根据所述操作更新指令将所述schema文件解析为所述数据表操作信息,并通过所述在线代码设计页面对所述数据表操作信息进行展示,以及获取所述开发人员对所述数据表操作信息进行更新后的更新数据表操作信息,将所述更新数据表操作信息转换为新的schema文件,并通过所述新的schema文件对原本存储的所述schema文件进行替换。
可选地,
所述信息获取单元,用于将所述开发人员通过所述在线代码设计页面定义的整体描述信息和数据表列信息确定为所述数据表操作信息,其中,所述整体描述信息包括表名、说明、类名、包路径、表单URL和请求路径中的任意一个或多个,所述数据表列信息包括数据表的元数据信息、查询条件信息和校验信息中的任意一个或多个。
本发明实施例提供的数据表操作代码生成方法及装置,在接收到开发人员通过WEB开发工具发送的项目创建指令后,根据接收到的项目创建指令创建WEB项目,并创建与WEB项目相对应的代码模板,之后通过WEB开发工具向开发人员展示在线代码设计页面,获取开发人员通过在线代码设计页面输入的数据表操作信息,之后根据代码模板对数据表操作信息进行解析便可以获得对应于所创建WEB项目的数据数据表操作代码。由此可见,开发人员通过在线代码设计页面输入数据表操作信息,后台系统可以根据所创建的代码模板自动将数据表操作信息解析为相对应的数据表操作代码,因此开发人员无需再手动编写数据表操作代码,从而能够提高数据表操作代码开发的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种数据表操作代码生成方法的流程图;
图2是本发明一个实施例提供的另一种数据表操作代码生成方法的流程图;
图3是本发明一个实施例提供的一种数据表操作代码生成装置所在设备的示意图;
图4是本发明一个实施例提供的一种数据表操作代码生成装置的示意图;
图5是本发明一个实施例提供的另一种数据表操作代码生成装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种数据表操作代码生成方法,该方法可以包括以下步骤:
步骤101:根据开发人员通过WEB开发工具发送的项目创建指令,创建WEB项目;
步骤102:创建对应于WEB项目的代码模板;
步骤103:通过WEB开发工具向开发人员展示在线代码设计页面;
步骤104:获取开发人员通过在线代码设计页面输入的数据表操作信息;
步骤105:根据代码模板对数据表操作信息进行解析,获得对应于WEB项目的数据表操作代码。
本发明实施例提供了一种数据表操作代码生成方法,在接收到开发人员通过WEB开发工具发送的项目创建指令后,根据接收到的项目创建指令创建WEB项目,并创建与WEB项目相对应的代码模板,之后通过WEB开发工具向开发人员展示在线代码设计页面,获取开发人员通过在线代码设计页面输入的数据表操作信息,之后根据代码模板对数据表操作信息进行解析便可以获得对应于所创建WEB项目的数据数据表操作代码。由此可见,开发人员通过在线代码设计页面输入数据表操作信息,后台系统可以根据所创建的代码模板自动将数据表操作信息解析为相对应的数据表操作代码,因此开发人员无需再手动编写数据表操作代码,从而能够提高数据表操作代码开发的效率。
可选地,在创建对应于WEB项目的代码模板时,可以根据WEB项目所对应的SringMVC框架,在模板(templates)目录的conf、Java、jsp和sql文件夹下创建相对应的代码模板。具体地,在conf文件夹下创建配置文件代码模板,在Java文件夹下创建Java文件代码模板,在jsp文件夹下创建jsp文件代码模板,在sql文件夹下创建sql文件代码模板。其中,配置文件代码模块用于定义数据表操作代码中配置文件代码的生成规则,Java文件代码模板用于定义数据表操作代码中Java文件代码的生成规则,jsp文件代码模板用于定义数据表操作代码中jsp文件代码的生成规则,sql文件代码模板用于定义数据表操作代码中sql文件代码的生成规则。
用于对数据表进行增加、删除、修改和查看等操作的数据表操作代码包括有4部分代码,分别为对应于配置文件的配置文件代码、对应于Java文件的Java文件代码、对应于jsp文件的jsp文件代码以及对应于sql文件的sql文件代码。通过创建配置文件代码模板、Java文件代码模板、jsp文件代码模板和sql文件代码模板,用配置文件代码模板定义配置文件代码的生成规则,用Java文件代码模板定义Java文件代码的生成规则,用jsp文件代码模板定义jsp文件代码的生成规则,用sql文件代码模板定义sql文件代码的生成规则。这样,开发人员在输入数据表操作信息后,便可以根据配置文件代码模板、Java文件代码模板、jsp文件代码模板和sql文件代码模板对数据表操作信息进行解析,获得相对应的配置文件代码、Java文件代码、jsp文件代码和sql文件代码,实现数据表操作代码的自动生成。
可选地,在完成配置文件代码模板、Java文件代码模板、jsp文件代码模板和sql文件代码模板的创建,并获取到数据表操作信息后,可以将数据表操作信息转换为schema文件,并对schema文件进行存储。之后可以根据开发人员的触发将schema文件转换为Table对象,根据配置文件代码模板对Table对象进行处理可以获得目标配置文件代码,根据Java文件代码模板对Table对象进行处理可以获得目标Java文件代码,根据jsp文件代码模板对Table对象进行处理可以获得目标jsp文件代码,根据sql文件代码模板对Table对象进行处理可以获得目标sql文件代码。最终将目标配置文件代码、目标Java文件代码、目标jsp文件代码和目标sql文件代码作为WEB项目对应的数据表操作代码。
具体地,开发人员通过在线代码设计页面输入的数据表操作信息包括一个或多个Table实体类,每一个Table实体类包括有一个或多个Column实体类。一个Table实体类用于对一个数据表的整体结构进行描述,一个Column实体类用于对一个数据表中的一列进行描述。后台系统可以将各个Table实体类和Column实体类转换为schema文件进行保存,其中,schema文件为可扩展标记语言架构文件,用于描述可扩展标记语言文档的结构。当开发人员触发在线代码设计页面上的代码生成按钮时,可以将schema文件转换为Table对象,之后便可以结合已经创建的代码模板生成符合WEB项目开发框架的整套代码,而自动生成的代码可以直接进行编译运行。
可选地,在对schema文件进行存储之后,可以接收开发人员通过在线代码设计页面发送的操作更新指令,在接收到操作更新指令后,可以将已经存储的schema文件解析为数据表操作信息,并通过在线代码设计页面对解析出的数据表操作信息进行展示。开发人员可以对展示的数据表操作信息进行更新,在获取到开发人员对所展示数据表操作信息进行更新后的更新数据表操作信息后,可以将更新数据表信息换换为新的scheme文件,并通过新的schema文件对原本存储的schema文件进行替换。
具体地,当开发人员需要对之前设计的内容进行修改时,可以将已经存储的schema文件解析为前台展示所需的数据格式后通过在线代码设计页面进行展示,以供开发人员进行修改。在开发人员修改完成后,可以根据修改后的数据表操作信息生成新的schema文件,并通过新生成的schema文件对此前存储的schema文件进行覆盖。
将开发人员输入的数据表操作信息转换为schema文件进行存储,在开发人员需要对之前设计内容进行修改时,可以将schema文件解析为数据表操作信息后通过前台进行展示,以供开发人员进行修改,在开发人员修改完成后可以生成新的schema文件进行存储,以便生成与开发人员所设计内容相对应的数据表操作代码。由于schema文件可以解析为前台展示所需的数据格式供开发人员进行修改,因此当开发人员发现之前开发的数据表操作代码存在错误时,无需重新对所有数据表操作信息进行输入,只需对部分错误内容进行修改便可以生成新的数据表操作代码,方便开发人员对数据表操作代码进行修改。
可选地,在获取数据表操作信息时,可以将开发人员通过在线代码设计页面定义的整体描述信息和数据表列信息确定为数据表操作信息,其中,整体描述信息包括表名、说明、类名、包路径、表单URL和请求路径中的任意一个或多个,数据表列信息包括数据表的元数据信息、查询条件信息和校验信息中的任意一个或多个。
具体地,在线代码设计页面主要包括整体描述信息和数据表列信息定义两个部分。整体描述信息包括“表名”、“说明”、“类名”、“包路径”、“表单URL”和“请求路径”,用来定义生成的代码文件名称、代码文件路径以及服务调用路径。数据表列信息主要包括“数据表属性”、“页面属性”、“页面校验”三个方面的定义,其中,“数据表属性”用于定义数据表的元数据信息,“页面属性”用于定义表字段的展示页面以及是否作为列表页面中的查询条件,“页面校验”用于定义详情页面中字段的校验信息。
在本发明实施例中,开发人员通过在线代码设计页面填写“表名”、“类名”、“请求路径”等信息,实现了代码路径及所生成代码文件名称的定义。通过在线代码设计页面定义数据表属性,省去了sql文件的编写。通过在线代码设计页面定义页面属性,实现了指定表字段是否在列表页面和详情页面中进行展示,并定义了列表页面查询区域使用的字段。通过在线代码设计页面可以在校验标签页中定义实体数据对应的详情页面中各字段的校验规则。
在本发明实施例中,在线代码设计页面提供新增、修改、数据源配置及数据表同步、保存、生成代码这几项功能。点击“新增”,在界面上添加设计模板。通过填写必要信息及添加所需列便可完成生成代码的设计。其中列的定义提供了“数据表属性”、“页面属性”、“页面校验”三个标签页,分别用来定义表的元数据信息、页面展示信息及详情页面的校验信息。通过“同步”按钮可以看到配置的数据源中所有数据表,选择需要的数据表,即可转换到代码设计页面上,然后根据需要进行编辑;点击“保存”将前台定义的表结构及页面信息传递到后台保存到schema.xml文件中;点击“生成代码”,自动生成整套代码;如果需修改保存后的schema文件,在文件列表中选择打开即可进行再次编辑。
下面以开发人员开发对数据表进行增删改查操作的数据表操作代码为例,对本发明实施例提供的数据表操作代码生成方法作进一步详细说明,如图2所示,该方法可以包括以下步骤:
步骤201:根据开发人员的项目创建指令创建WEB项目。
在本发明实施例中,开发人员可以根据开发习惯选择相应的WEB开发工具,之后通过所选择的WEB开发工具发送项目创建指令,在接收到项目创建指令后,创建WEB项目。其中,WEB开发框架选用目前主流的SringMVC框架。
例如,根据客户的需求,开发人员需要开发一个可以对数据表进行增加、删除、修改和查询的数据表操作代码,此时可以根据开发人员的项目创建指令,创建一个相对应的WEB项目。
步骤202:创建对应于WEB项目的代码模模板。
在本发明实施例中,根据所选取的开发框架,定义符合该开发框架开发规范的代码模板。具体地,分别在templates目录的conf、Java、jsp和sql文件夹下创建对应的配置文件代码模板、Java文件代码模板、jsp文件代码模板和sql文件代码模板。
步骤203:开发人员通过在线代码设计页面定义数据表操作信息。
在本发明实施例中,在创建WEB项目并创建WEB项目对应的代码模板后,通过开发人员所选择的WEB开发工具向开发人员展示在线代码设计页面,在线代码设计页面提供新增、修改、数据源配置及数据表同步、保存、生成代码等功能选项。开发人员点击“新增”选项可以在界面上添加设计模板,通过填写必要信息及添加所需列便可完成生成代码的设计,其中列的定义提供了数据表属性、页面属性、页面校验三个标签页,分别用来定义表的元数据信息、页面展示信息及详情页面的校验信息。开发人员点击“同步”选项可以看到配置的数据源中所有数据表。
需要说明的是,开发人员在通过在线代码设计页面定义数据表操作信息时,所涉及的数据表可以是在线创建的数据表,也可以是通过数据库同步的方式直接选择数据库中已有的数据表。
步骤204:获取开发人员通过在线代码设计页面定义的数据表操作信息。
在本发明实施例中,开发人员通过在线代码设计页面完成相关信息的定义和配置后,当开发人员点击在线代码设计页面上的“保存”选项后,将开发人员通过前台定义的表结构和页面信息转换为schema文件,对比schema文件进行存储。
步骤205:根据代码模板对schema文件进行解析,获得WEB项目的数据包操作代码。
在本发明实施例中,在生成schema文件并进行存储后,当开发人员点击“生成代码”选项后,首先将schema文件转换为Table对象,之后根据配置文件代码模板对Table对象进行处理获得目标配置文件代码,根据Java文件代码模板对Table对象进行处理获得目标Java文件代码,根据jsp文件代码模板对Table对象进行处理获得目标jsp文件代码,根据sql文件代码模板对Table对象进行处理获得目标sql文件代码,最后将目标配置文件代码、目标Java文件代码、目标jsp文件代码和目标sql文件代码确定为所创建WEB项目的数据表处理代码。
步骤206:对所生成的数据表处理代码进行存储。
在本发明实施例中,在生成目标配置文件代码、目标Java文件代码、目标jsp文件代码和目标sql文件代码后,根据开发人员通过在线代码设计页面定义的存储路径,将目标配置文件代码、目标Java文件代码、目标jsp文件代码和目标sql文件代码存储到相对应的位置,使得启动WEB项目时各个文件代码可以运行,以实现对数据表的操作。
如图3、图4所示,本发明实施例提供了一种数据表操作代码生成装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的数据表操作代码生成装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的数据表操作代码生成装置,包括:项目创建单元401、模板创建单元402、页面展示单元403、信息获取单元404和代码生成单元405;
项目创建单元401,用于根据开发人员通过WEB开发工具发送的项目创建指令,创建WEB项目;
模板创建单元402,用于创建与项目创建单元401创建的WEB项目相对应的代码模板;
页面展示单元403,用于通过WEB开发工具向开发人员展示在线代码设计页面;
信息获取单元404,用于获取开发人员通过页面展示单元403所展示的在线代码设计页面输入的数据表操作信息;
代码生成单元405,用于根据模板创建单元402创建的代码模板对信息获取单元404获取到的数据表操作信息进行解析,获得对应于WEB项目的数据表操作代码。
可选地,在图4所示数据表操作代码生成装置的基础上,
模板创建单元402,用于根据WEB项目所对应的SringMVC框架,在模板目录的conf文件夹下创建配置文件代码模板,在模板目录的Java文件夹下创建Java文件代码模板,在模板目录的jsp文件夹下创建jsp文件代码模板,在模板目录的sql文件夹下创建sql文件代码模板,其中,配置文件代码模板用于定义数据表操作代码中配置文件代码的生成规则,Java文件代码模板用于定义数据表操作代码中Java文件代码的生成规则,jsp文件代码模板用于定义数据表操作代码中jsp文件代码的生成规则,sql文件代码模板用于定义数据表操作代码中sql文件代码的生成规则。
可选地,在图4所示数据表操作代码生成装置的基础上,如图5所示,代码生成单元405包括设计器子单元4051和代码生成引擎子单元4052;
设计器子单元4051,用于将数据表操作信息转换为schema文件,并对schema文件进行存储,以及将schema文件转换为Table对象;
代码生成引擎子单元4052,用于根据配置文件代码模板对设计器子单元4051转换出的Table对象进行处理获得目标配置文件代码,根据Java文件代码模板对设计器子单元4051转换出的Table对象进行处理获得目标Java文件代码,根据jsp文件代码模板对设计器子单元4051转换出的Table对象进行处理获得目标jsp文件代码,根据sql文件代码模板对设计器子单元4051转换出的Table对象进行处理获得目标sql文件代码,并将获得的目标配置文件代码、目标Java文件代码、jsp文件代码和sql文件代码确定为WEB项目对应的数据表操作代码。
可选地,在图5所示数据表操作代码生成装置的基础上,
设计器子单元4051,进一步用于接收开发人员通过在线代码设计页面发送的操作更新指令,并根据操作更新指令将schema文件解析为数据表操作信息,并通过在线代码设计页面对数据表操作信息进行展示,以及获取开发人员对数据表操作信息进行更新后的更新数据表操作信息,将更新数据表操作信息转换为新的schema文件,并通过新的schema文件对原本存储的schema文件进行替换。
可选地,在图4或图5所示数据表操作代码生成装置的基础上,
信息获取单元404,用于将开发人员通过在线代码设计页面定义的整体描述信息和数据表列信息确定为数据表操作信息,其中,整体描述信息包括表名、说明、类名、包路径、表单URL和请求路径中的任意一个或多个,数据表列信息包括数据表的元数据信息、查询条件信息和校验信息中的任意一个或多个。
需要说明的是,上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述各个实施例提供的数据表操作代码生成方法。
本发明实施例还提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述各个实施例提供的数据表操作代码生成方法。
综上所述,本发明各个实施例提供的数据表操作代码生成方法及装置,至少具有如下有益效果:
1、在本发明实施例中,在接收到开发人员通过WEB开发工具发送的项目创建指令后,根据接收到的项目创建指令创建WEB项目,并创建与WEB项目相对应的代码模板,之后通过WEB开发工具向开发人员展示在线代码设计页面,获取开发人员通过在线代码设计页面输入的数据表操作信息,之后根据代码模板对数据表操作信息进行解析便可以获得对应于所创建WEB项目的数据数据表操作代码。由此可见,开发人员通过在线代码设计页面输入数据表操作信息,后台系统可以根据所创建的代码模板自动将数据表操作信息解析为相对应的数据表操作代码,因此开发人员无需再手动编写数据表操作代码,从而能够提高数据表操作代码开发的效率。
2、在本发明实施例中,通过创建配置文件代码模板、Java文件代码模板、jsp文件代码模板和sql文件代码模板,用配置文件代码模板定义配置文件代码的生成规则,用Java文件代码模板定义Java文件代码的生成规则,用jsp文件代码模板定义jsp文件代码的生成规则,用sql文件代码模板定义sql文件代码的生成规则。这样,开发人员在输入数据表操作信息后,便可以根据配置文件代码模板、Java文件代码模板、jsp文件代码模板和sql文件代码模板对数据表操作信息进行解析,获得相对应的配置文件代码、Java文件代码、jsp文件代码和sql文件代码,实现数据表操作代码的自动生成。
3、在本发明实施例中,根据预先定义好的代码模板自动生成数据表操作代码,可以避免开发人员手动编写代码出现的编写错误,从而可以提高所开发数据表操作代码的质量。
4、在本发明实施例中,由于schema文件可以解析为前台展示所需的数据格式供开发人员进行修改,因此当开发人员发现之前开发的数据表操作代码存在错误时,无需重新对所有数据表操作信息进行输入,只需对部分错误内容进行修改便可以生成新的数据表操作代码,方便开发人员对数据表操作代码进行修改。
5、在本发明实施例中,开发人员通过在线代码设计页面创建及生产所需文件,由于在线代码设计页面为界面交互方式,方便开发人员进行操作,降低了代码开发工作对开发人员专业知识的需求,从而能够降低数据表操作代码开发的成本。
6、在本发明实施例中,开发人员通过在线代码设计页面填写表名、类名、请求路径等信息,实现了代码路径和所生成代码文件名称的定义,定义数据表属性可以省去sql文件的编写。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (2)

1.一种数据表操作代码生成方法,其特征在于,包括:
根据开发人员通过WEB开发工具发送的项目创建指令,创建WEB项目;
创建对应于所述WEB项目的代码模板;
通过所述WEB开发工具向所述开发人员展示在线代码设计页面;
获取所述开发人员通过所述在线代码设计页面输入的数据表操作信息;
根据所述代码模板对所述数据表操作信息进行解析,获得对应于所述WEB项目的数据表操作代码;
所述创建对应于所述WEB项目的代码模板,包括:
根据所述WEB项目所对应的SringMVC框架,在模板目录的conf文件夹下创建配置文件代码模板,在所述模板目录的Java文件夹下创建Java文件代码模板,在所述模板目录的jsp文件夹下创建jsp文件代码模板,在所述模板目录的sql文件夹下创建sql文件代码模板;
其中,所述配置文件代码模板用于定义所述数据表操作代码中配置文件代码的生成规则,所述Java文件代码模板用于定义所述数据表操作代码中Java文件代码的生成规则,所述jsp文件代码模板用于定义所述数据表操作代码中jsp文件代码的生成规则,所述sql文件代码模板用于定义所述数据表操作代码中sql文件代码的生成规则;
所述根据所述代码模板对所述数据表操作信息进行解析,获得对应于所述WEB项目的数据表操作代码,包括:
将所述数据表操作信息转换为schema文件,并对所述schema文件进行存储;
将所述schema文件转换为Table对象;
根据所述配置文件代码模板对所述Table对象进行处理,获得目标配置文件代码;
根据所述Java文件代码模板对所述Table对象进行处理,获得目标Java文件代码;
根据所述jsp文件代码模板对所述Table对象进行处理,获得目标jsp文件代码;
根据所述sql文件代码模板对所述Table对象进行处理,获得目标sql文件代码;
将所述目标配置文件代码、所述目标Java文件代码、所述jsp文件代码和所述sql文件代码确定为所述WEB项目对应的所述数据表操作代码;
在所述对所述schema文件进行存储之后,且在所述将所述schema文件转换为Table对象之前,进一步包括:
接收所述开发人员通过所述在线代码设计页面发送的操作更新指令;
根据所述操作更新指令将所述schema文件解析为所述数据表操作信息,并通过所述在线代码设计页面对所述数据表操作信息进行展示;
获取所述开发人员对所述数据表操作信息进行更新后的更新数据表操作信息;
将所述更新数据表操作信息转换为新的schema文件,并通过所述新的schema文件对原本存储的所述schema文件进行替换;
所述获取所述开发人员通过所述在线代码设计页面输入的数据表操作信息,包括:
将所述开发人员通过所述在线代码设计页面定义的整体描述信息和数据表列信息确定为所述数据表操作信息;
其中,所述整体描述信息包括表名、说明、类名、包路径、表单URL和请求路径中的任意一个或多个,所述数据表列信息包括数据表的元数据信息、查询条件信息和校验信息中的任意一个或多个。
2.一种数据表操作代码生成装置,其特征在于,包括:项目创建单元、模板创建单元、页面展示单元、信息获取单元和代码生成单元;
所述项目创建单元,用于根据开发人员通过WEB开发工具发送的项目创建指令,创建WEB项目;
所述模板创建单元,用于创建与所述项目创建单元创建的所述WEB项目相对应的代码模板;
所述页面展示单元,用于通过所述WEB开发工具向所述开发人员展示在线代码设计页面;
所述信息获取单元,用于获取所述开发人员通过所述页面展示单元所展示的所述在线代码设计页面输入的数据表操作信息;
所述代码生成单元,用于根据所述模板创建单元创建的所述代码模板对所述信息获取单元获取到的所述数据表操作信息进行解析,获得对应于所述WEB项目的数据表操作代码;
所述模板创建单元,用于根据所述WEB项目所对应的SringMVC框架,在模板目录的conf文件夹下创建配置文件代码模板,在所述模板目录的Java文件夹下创建Java文件代码模板,在所述模板目录的jsp文件夹下创建jsp文件代码模板,在所述模板目录的sql文件夹下创建sql文件代码模板,其中,所述配置文件代码模板用于定义所述数据表操作代码中配置文件代码的生成规则,所述Java文件代码模板用于定义所述数据表操作代码中Java文件代码的生成规则,所述jsp文件代码模板用于定义所述数据表操作代码中jsp文件代码的生成规则,所述sql文件代码模板用于定义所述数据表操作代码中sql文件代码的生成规则;
所述代码生成单元包括:设计器子单元和代码生成引擎子单元;
所述设计器子单元,用于将所述数据表操作信息转换为schema文件,并对所述schema文件进行存储,以及将所述schema文件转换为Table对象;
所述代码生成引擎子单元,用于根据所述配置文件代码模板对所述设计器子单元转换出的所述Table对象进行处理获得目标配置文件代码,根据所述Java文件代码模板对所述设计器子单元转换出的所述Table对象进行处理获得目标Java文件代码,根据所述jsp文件代码模板对所述设计器子单元转换出的所述Table对象进行处理获得目标jsp文件代码,根据所述sql文件代码模板对所述设计器子单元转换出的所述Table对象进行处理获得目标sql文件代码,并将获得的所述目标配置文件代码、所述目标Java文件代码、所述jsp文件代码和所述sql文件代码确定为所述WEB项目对应的所述数据表操作代码;
所述设计器子单元,进一步用于接收所述开发人员通过所述在线代码设计页面发送的操作更新指令,并根据所述操作更新指令将所述schema文件解析为所述数据表操作信息,并通过所述在线代码设计页面对所述数据表操作信息进行展示,以及获取所述开发人员对所述数据表操作信息进行更新后的更新数据表操作信息,将所述更新数据表操作信息转换为新的schema文件,并通过所述新的schema文件对原本存储的所述schema文件进行替换;
所述信息获取单元,用于将所述开发人员通过所述在线代码设计页面定义的整体描述信息和数据表列信息确定为所述数据表操作信息,其中,所述整体描述信息包括表名、说明、类名、包路径、表单URL和请求路径中的任意一个或多个,所述数据表列信息包括数据表的元数据信息、查询条件信息和校验信息中的任意一个或多个。
CN201810499831.6A 2018-05-23 2018-05-23 一种数据表操作代码生成方法及装置 Active CN108762743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810499831.6A CN108762743B (zh) 2018-05-23 2018-05-23 一种数据表操作代码生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810499831.6A CN108762743B (zh) 2018-05-23 2018-05-23 一种数据表操作代码生成方法及装置

Publications (2)

Publication Number Publication Date
CN108762743A CN108762743A (zh) 2018-11-06
CN108762743B true CN108762743B (zh) 2021-09-03

Family

ID=64004974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810499831.6A Active CN108762743B (zh) 2018-05-23 2018-05-23 一种数据表操作代码生成方法及装置

Country Status (1)

Country Link
CN (1) CN108762743B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110389755B (zh) * 2019-07-24 2023-09-08 网易(杭州)网络有限公司 代码处理方法及装置、电子设备和计算机可读存储介质
CN111079062A (zh) * 2019-12-27 2020-04-28 北京达佳互联信息技术有限公司 页面创建方法、装置、电子设备和存储介质
CN111580794A (zh) * 2020-05-06 2020-08-25 山东浪潮通软信息科技有限公司 业务管理系统中业务单据创建方法和装置
CN112015429B (zh) * 2020-08-21 2023-08-04 杭州指令集智能科技有限公司 一种代码生成方法、装置及设备
CN112346720A (zh) * 2020-10-22 2021-02-09 杭州安恒信息技术股份有限公司 基于sql生成自定义代码的方法、设备和电子装置
CN112631576B (zh) * 2020-12-31 2022-09-27 杭州天宽科技有限公司 Java通用代码生成优化方法和系统
CN113805864A (zh) * 2021-11-19 2021-12-17 北京明略昭辉科技有限公司 一种项目工程的生成方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697120A (zh) * 2009-11-05 2010-04-21 河南辉煌科技股份有限公司 基于关系型数据库的j2ee代码生成方法
CN106648690A (zh) * 2016-12-29 2017-05-10 北京恒华伟业科技股份有限公司 一种代码自动生成方法及装置
CN107608669A (zh) * 2017-08-15 2018-01-19 山西云度知识产权服务有限公司 一种基于数据库表结构自动生成功能及页面的方法
CN107729003A (zh) * 2017-11-20 2018-02-23 江苏神州信源系统工程有限公司 代码的自动生成方法、装置及电子设备
CN107844299A (zh) * 2017-12-01 2018-03-27 浪潮软件股份有限公司 一种Web应用开发工具的实现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697120A (zh) * 2009-11-05 2010-04-21 河南辉煌科技股份有限公司 基于关系型数据库的j2ee代码生成方法
CN106648690A (zh) * 2016-12-29 2017-05-10 北京恒华伟业科技股份有限公司 一种代码自动生成方法及装置
CN107608669A (zh) * 2017-08-15 2018-01-19 山西云度知识产权服务有限公司 一种基于数据库表结构自动生成功能及页面的方法
CN107729003A (zh) * 2017-11-20 2018-02-23 江苏神州信源系统工程有限公司 代码的自动生成方法、装置及电子设备
CN107844299A (zh) * 2017-12-01 2018-03-27 浪潮软件股份有限公司 一种Web应用开发工具的实现方法

Also Published As

Publication number Publication date
CN108762743A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN108762743B (zh) 一种数据表操作代码生成方法及装置
US8239882B2 (en) Markup based extensibility for user interfaces
JP4396994B2 (ja) リソース・ファイルの翻訳検証方法、装置、およびプログラム
US20040268229A1 (en) Markup language editing with an electronic form
JP2009545077A (ja) 利用可能なソースデータ及びローカライゼーションの再利用
US11301643B2 (en) String extraction and translation service
US20120266131A1 (en) Automatic program generation device, method, and computer program
US9817811B2 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
WO2021022703A1 (zh) 软件项目重构方法、装置、计算机装置及存储介质
US20090282065A1 (en) Metadata to technical design review document process
CN112799718A (zh) 一种枚举文档的生成方法、装置、电子设备及存储介质
US9646004B2 (en) Hierarchical database report generation with automated query generation for placeholders
CN113177168A (zh) 一种基于Web元素属性特征的定位方法
EP1909170A1 (en) Method and system for automatically generating a communication interface
US20230004477A1 (en) Providing a pseudo language for manipulating complex variables of an orchestration flow
US20080005662A1 (en) Server Device and Name Space Issuing Method
CN111427577A (zh) 代码处理方法、装置及服务器
US20080005085A1 (en) Server Device and Search Method
CN110737642B (zh) 数据库信息分析方法、装置、计算机装置及存储介质
Eyl et al. Traceability in a fine grained software configuration management system
JP4906424B2 (ja) Webサービス設計方法及び装置
Le Zou et al. On synchronizing with web service evolution
JP2013037580A (ja) 情報処理装置
US11210454B2 (en) Method for preparing documents written in markup languages while implementing a user interface for dealing with data of an information system
JP3290778B2 (ja) トラブル分析支援装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210817

Address after: 271000 Langchao science and Technology Park, 527 Dongyue street, Tai'an City, Shandong Province

Applicant after: INSPUR SOFTWARE Co.,Ltd.

Address before: 250100 Ji'nan hi tech Zone No. 2877, Shandong Province

Applicant before: INSPUR GROUP Co.,Ltd.

GR01 Patent grant
GR01 Patent grant