代码生成方法及装置制造方法及图纸

技术编号:37256839 阅读:12 留言:0更新日期:2023-04-20 23:32
本发明专利技术提供一种代码生成方法及装置,其中方法包括:从存储目标对象信息的数据库表中,获取生成目标对象的代码需要的字段;基于目标对象中各属性的命名规则,获取各属性对应的字段并进行拼接,得到目标对象的各属性名称;基于目标对象的代码构建规则,将各属性名称以及各属性名称对应的属性信息进行组合,生成目标对象的代码。本发明专利技术提供的代码生成方法及装置,通过从存储目标对象信息的数据库表中,获取生成目标对象需要的字段,并基于目标对象中各属性的命名规则,得到目标对象的各属性名称,并将各属性以及各属性对应的属性信息组合,实现了目标对象代码的自动生成。无需依赖于编辑器或者插件的方式,方便了用户的开发过程。程。程。

【技术实现步骤摘要】
代码生成方法及装置


[0001]本专利技术涉及计算机术领域,尤其涉及一种代码生成方法及装置。

技术介绍

[0002]现有的在开发工作中,开发者为缩短开发周期,减轻程序员的开发负担,需要减少代码的重复编写,降低机械性代码的编写频率。为了减少代码的重复编写,降低机械性代码的编写频率,一般采用编辑器或者插件的方式,通过连接数据库获取相关表信息和字段信息,生成对应的代码。
[0003]现有的基于编辑器或者插件的方式,太过于依赖编辑器,不同编辑器的插件市场所包含的工具的使用方式可能有所不同,违背提高生产力的初衷。并且,增加项目依赖的方式则会引入非生产所需的多余依赖,增加项目的体量,增加项目的学习成本。

技术实现思路

[0004]本专利技术提供一种代码生成方法及装置,用以解决现有技术针对代码开发过程中,基于编辑器或者插件的方式,导致增加项目的体量,同时增加学习成本的技术问题。
[0005]本专利技术提供一种代码生成方法,包括:
[0006]向服务端发送数据获取消息,所述数据获取消息用于指示所述服务端从存储目标对象信息的数据库表中,获取生成目标对象的代码需要的字段,所述目标对象包括实体类和配置文件;
[0007]接收服务端获取的生成目标对象的代码需要的字段,并基于目标对象中各属性的命名规则,从所述生成目标对象的代码需要的字段中获取各属性对应的字段并进行拼接,得到所述目标对象的各属性名称;
[0008]基于目标对象的代码构建规则,将所述各属性名称以及所述各属性名称对应的属性信息进行组合,生成目标对象的代码。
[0009]根据本专利技术提供的一种代码生成方法,所述从所述生成目标对象的代码需要的字段中获取各属性对应的字段并进行拼接之前,还包括:
[0010]基于所述数据库表中字段的命名方式以及目标对象的属性的命名方式,确定命名映射规则;
[0011]基于所述命名映射规则,将所述目标对象的代码需要的字段的命名方式转换成目标对象的属性的命名方式。
[0012]根据本专利技术提供的一种代码生成方法,所述生成目标对象的代码之后,还包括:
[0013]向服务端发送属性获取消息,所述属性获取消息用于指示所述服务端从存储所述目标对象信息的数据库表中,获取各属性的属性解析信息;接收服务端获取的各属性的属性解析信息,并将所述属性解析信息以注释的方式,添加到所述目标对象的代码对应的属性中。
[0014]根据本专利技术提供的一种代码生成方法,所述生成目标对象的代码之后,还包括:
[0015]显示所述目标对象的代码;
[0016]接收针对所述目标对象的代码的修改信息,并基于所述修改信息,修改所述目标对象的代码。
[0017]根据本专利技术提供的一种代码生成方法,基于所述修改信息,修改所述目标对象的代码之后,还包括:
[0018]基于所述修改信息,调整所述代码构建规则。
[0019]根据本专利技术提供的一种代码生成方法,所述基于目标对象中各属性的命名规则,从所述生成目标对象的代码需要的字段中获取各属性对应的字段并进行拼接,得到所述目标对象的各属性名称,包括:
[0020]从所述生成目标对象的代码需要的字段中获取各属性对应的字段,并基于字符串的形式对所述各属性对应的字段进行拼接,得到目标对象的各属性名称,所述各属性对应的字段包括:字段名称、字段类型以及字段含义中的至少一种。
[0021]本专利技术还提供一种代码生成装置,包括:
[0022]获取模块,用于向服务端发送数据获取消息,所述数据获取消息用于指示所述服务端从存储目标对象信息的数据库表中,获取生成目标对象的代码需要的字段,所述目标对象包括实体类和配置文件;
[0023]拼接模块,用于接收服务端获取的生成目标对象的代码需要的字段,并基于目标对象中各属性的命名规则,从所述生成目标对象的代码需要的字段中获取各属性对应的字段并进行拼接,得到所述目标对象的各属性名称;
[0024]生成模块,用于基于目标对象的代码构建规则,将所述各属性名称以及所述各属性名称对应的属性信息进行组合,生成目标对象的代码。
[0025]本专利技术还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述代码生成方法。
[0026]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种代码生成方法。
[0027]本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述代码生成方法。
[0028]本专利技术提供的代码生成方法及装置,通过从存储目标对象信息的数据库表中,获取生成目标对象需要的字段,并基于目标对象中各属性的命名规则,从目标对象需要的字段中获取各属性对应的字段并进行拼接,得到目标对象的各属性名称,并将各属性以及各属性对应的属性信息组合,实现了目标对象代码的自动生成。无需依赖于编辑器或者插件的方式,方便了用户的开发过程。
附图说明
[0029]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图简要地说明,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]图1是本专利技术提供的代码生成方法的流程示意图;
[0031]图2是应用本专利技术提供的代码生成方法的流程示意图;
[0032]图3是应用本专利技术提供的代码生成方法的装置结构示意图;
[0033]图4是本专利技术提供的代码生成装置的结构示意图;
[0034]图5是本专利技术提供的电子设备的结构示意图。
具体实施方式
[0035]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0036]开发者为缩短开发周期,减轻程序员的开发负担,需要减少代码的重复编写,降低机械性代码的编写频率。此类技术减少的是开发者和数据库进行交互时编写的重复性实体类和配置文件的代码,有些工具使用插件生成项目文件,也有工具在特定文件中生成代码。
[0037]相关技术大都采用的是通过编辑器插件工坊或者项目依赖的形式实现。例如,JetBrainsIdea编辑器的PluginsMarketplace中一款MyBatisPlus插件或者是Mybatis

plus插件依赖都利用了MyBatis连接数据库获取相关表信息和字段信息,生成java的controller、entity、mapper和service的部分和数据库相关的代码,通过插件生成java本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码生成方法,其特征在于,包括:向服务端发送数据获取消息,所述数据获取消息用于指示所述服务端从存储目标对象信息的数据库表中,获取生成目标对象的代码需要的字段,所述目标对象包括实体类和配置文件;接收服务端获取的生成目标对象的代码需要的字段,并基于目标对象中各属性的命名规则,从所述生成目标对象的代码需要的字段中获取各属性对应的字段并进行拼接,得到所述目标对象的各属性名称;基于目标对象的代码构建规则,将所述各属性名称以及所述各属性名称对应的属性信息进行组合,生成目标对象的代码。2.根据权利要求1所述的代码生成方法,其特征在于,所述从所述生成目标对象的代码需要的字段中获取各属性对应的字段并进行拼接之前,还包括:基于所述数据库表中字段的命名方式以及目标对象的属性的命名方式,确定命名映射规则;基于所述命名映射规则,将所述生成目标对象的代码需要的字段的命名方式转换成目标对象的属性的命名方式。3.根据权利要求1所述的代码生成方法,其特征在于,所述生成目标对象的代码之后,还包括:向服务端发送属性获取消息,所述属性获取消息用于指示所述服务端从存储所述目标对象信息的数据库表中,获取各属性的属性解析信息;接收服务端获取的各属性的属性解析信息,并将所述属性解析信息以注释的方式,添加到所述目标对象的代码对应的属性中。4.根据权利要求1所述的代码生成方法,其特征在于,所述生成目标对象的代码之后,还包括:显示所述目标对象的代码;接收针对所述目标对象的代码的修改信息,并基于所述修改信息,修改所述目标对象的代码。5.根据权利要求4所述的代码生成方法,其特征在于,所述基于所述修改信息,修改所述目标对象的代码之后,还包括:基于所述修...

【专利技术属性】
技术研发人员:李冰洋刘红廖伟栋杨璐华梁倩
申请(专利权)人:中银金融科技有限公司
类型:发明
国别省市:

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

1