一种程序对象生成方法、装置及计算机的制作方法

文档序号:6601639阅读:157来源:国知局
专利名称:一种程序对象生成方法、装置及计算机的制作方法
技术领域
本发明涉及计算机应用领域,更具体地说,涉及一种程序对象生成方法、装置及计算机。
背景技术
在项目开发的过程中,程序开发人员对数据库中的每个表进行操作,都需要写对 应的程序代码,但是,对每个表操作的代码的内容结构十分相似,所以重复编写内容结构相 似的代码无疑增加了程序开发人员的工作量。对于这些毫无意义的重复性工作,不仅浪费了程序员的时间,而且降低了整个项 目的开发进度,从而无谓的增加了人力和时间的成本,使项目开发进度的效率低下。因此,本发明的发明人发现如何自动的生成内容结构相似的程序代码,以此来提 升工作效率,成为目前最需要解决的问题。

发明内容
有鉴于此,本发明提供了一种程序对象生成方法、装置及计算机,以便提升工作效率。本发明实施例是这样实现的一种程序对象生成方法,包括获取用户输入的数据库表的名称;遍历预先设置的包括若干数据库表的参考文件,将与所述用户输入的数据库表的 名称相匹配的数据库表确定为目标数据库表;获取该目标数据库表的主键及相关属性,将所述主键及相关属性填充至预先根据 程序对象结构建立的程序对象模板,生成所述程序对象。优选地,在上述的程序对象生成方法中,将生成的所述程序对象保存到预设目录 下。优选地,在上述的程序对象生成方法中,所述参考文件为Pdm文件;所述程序对象为po类和dao类;所述程序对象模板为groovy模板。一种程序对象生成装置,包括第一获取模块、遍历模块、查找模块、第二获取模块 和生成模块;所述第一获取模块,用于获取用户输入的数据库表的名称;所述遍历模块,用于遍历预先设置的包括若干数据库表的参考文件;所述查找模块,用于将与所述用户输入的数据库表的名称相匹配的数据库表确定 为目标数据库表;所述第二获取模块,用于获取该目标数据库表的主键及相关属性;所述生成模块,用于将所述主键及相关属性填充至预先根据程序对象结构建立的程序对象模板,生成所述程序对象。优选地,在上述的程序对象生成装置中,还包括保存模块;所述保存模块,用于将生成的所述程序对象保存到预设目录下。一种执行权利要求1的方法的计算机,包括输入输出机构、存储单元和中央处理 器CPU,还包括程序对象生成装置,其中所述存储单元存储有多个参考文件,各所述参考文件中包括若干数据库表;所述程序对象生成装置利用输入输出机构来获取用户输入的数据库表名称,通过 所述CPU来遍历存储单元中的参考文件,将参考文件中与所述数据库表名称相匹配的数据 库表确定为目标数据库表,并利用所述输入输出机构获取该目标数据库表的主键及相关属 性,通过所述CPU将所述主键及相关属性填充至预先根据程序对象结构建立的程序对象模 板,生成所述程序对象。与现有技术相比,本发明实施例提供的技术方案具有以下优点和特点本发明提供的方法通过获取目标数据库表的主键及相关属性,并将该数据库表的 主键及相关属性填充至预先建立的程序对象模板中,即可生成相应的程序对象。所以本发 明提供的方案在整个项目开发的过程中,可以根据程序对象模板并结合目标数据库表的主 键及相关属性自动生成程序对象,不需要人为的去编写相似的控制数据库表的代码,从而 节约人力和时间的成本,因此,提升了工作效率。


为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术 描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的 一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这 些附图获得其他的附图。图1为本发明提供的程序对象生成方法流程图;图2为本发明提供的程序对象生成装置的模块示意图;图3为本发明提供的另一个程序对象生成装置的模块示意图;图4为本发明提供的执行程序对象生成方法的计算机的模块示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。本发明实施例提供的一种程序对象生产方法,包括以下步骤获取用户输入的数 据库表的名称;遍历预先设置的包括若干数据库表的参考文件,将与所述用户输入的数据 库表的名称相匹配的数据库表确定为目标数据库表;获取该目标数据库表的主键及相关属 性,将所述主键及相关属性填充至预先根据程序对象结构建立的程序对象模板,生成所述 程序对象。在实际工作中,使用上述方法的情况有很多,所以上述方法存在多种具体实现方 式,下面通过具体实施例进行详细说明。
请参见图1所示,图1为实现上述方法的步骤流程图,该方法可细化成以下五个步 骤,包括步骤101、获取数据库表名称。步骤102、遍历参考文件。
步骤103、确定目标数据库表。步骤104、获取该目标数据库表的主键及相关属性。步骤105、将主键及相关属性填充至程序对象模板,生成所述程序对象。下面通过在groovy语言的环境下,具体的说明本发明的方法。其中,参考文件为pdm文件,pdm是数据库建模工具Powerdesign保存的文件格式; Powerdesign可以设计、修改数据库,还可以建E-R图。程序对象为po类和dao类,po是 持久对象,可以看成是与数据库中的表相映射的java对象。dao是数据访问对象,该对象 用于访问数据库,通常和Po结合使用,dao中包含了各种数据库的操作方法,包括在数据库 中,增加数据、删除数据、修改数据和查询数据。所述程序对象模板为groovy模板,有多个 groovy模板,各个模板分别是通过po类、dao类或其他扩展类的结构建立的,该groovy模 板即为缺少数据库表的主键及相关属性,但该groovy模板设置有可获取数据库表的主键 及相关属性的接口,一旦将数据库表的主键及相关属性通过接口填入对应的模板中,则可 生成该数据库表的Po类和dao类。首先,程序开发人员需要做好生成po类和dao类的准备工作,设置好环境变量 JAVA_H0ME,需要irel. 4. 2以上版本;将包含数据库表的pdm文件放到系统预设目录下;程 序员需要向系统中输入Pdm文件名称和要生成的po、dao的数据库表名称。其次,系统根据该程序员输入的信息查找到对应的pdm文件并遍历该pdm文件,查 询该Pdm文件中用户输入的数据库表,并获取该数据库表的主键信息和列信息。再次,系统将获取到的主键信息和列属性填入至预先建立好的groovy模板中,即 可生成po类和dao类。最后,将生成的po类和dao类保存到预设输出目录下。在上述实施例中,程序员可以通过修改groovy模板来定制产生不同的类,例如封 装主键类、多表处理类或实现其他功能的类。还可以修改更多的模板定义,包括输出目录、 类名称和类结构等信息。请参见图2所示,图2所示的内容为一种程序对象生成装置相当于实现上述方法 的系统,该装置包括第一获取模块201、遍历模块202、查找模块203、第二获取模块204和 生成模块205,其中,所述第一获取模块201,用于获取用户输入的数据库表的名称;所述遍 历模块202,用于遍历预先设置的包括若干数据库表的参考文件;所述查找模块203,用于 将与所述用户输入的数据库表的名称相匹配的数据库表确定为目标数据库表;所述第二获 取模块204,用于获取该目标数据库表的主键及相关属性;所述生成模块205,用于将所述 主键及相关属性填充至预先根据程序对象结构建立的程序对象模板,生成所述程序对象。请参见图3所示,在上述的程序对象生成装置中,还包括保存模块206 ;所述保存 模块206,用于将生成的所述程序对象保存到预设目录下。结合groovy语言的应用环境,简要介绍上述装置的功能。其中,所述第一获取模 块201,用于获取用户输入的数据库表的名称;所述遍历模块202,用于遍历预先设置的包括若干数据库表的Pdm文件;所述查找模块203,用于将与所述用户输入的数据库表的名称相匹配的数据库表确定为目标数据库表;所述第二获取模块204,用于获取该目标数据库 表的主键及相关属性;所述生成模块205,用于将所述主键信息及相关列信息填充至预先 根据Po类和dao类的结构建立的po类模板和dao类模板,生成po类和dao类。在上文所述的po类和dao类,均为本发明提供的优选实施例,本发明并不限定方 法或装置只能生成Po类或dao类,本领域技术人员完全可以根据上述工作原理来制作出生 成其他类的方法或装置,只要本领域技术人员依照本发明提供的原理进行相应的改变,则 均在本发明保护范围内。由于本发明提供的方法或软件是应用在计算机上的,所以下面介绍一下关于执行 本发明提供的方法的计算机,以便说明该计算机是如何实现本发明提供的方法或软件的, 请参见图4所示,该计算机包括输入输出机构401、存储单元403和中央处理器CPU402,还 包括程序对象生成装置404,其中所述存储单元403存储有多个pdm文件,各所述pdm文 件中包括若干数据库表;所述程序对象生成装置404利用输入输出机构401来获取用户输 入的数据库表名称,通过所述CPU402来遍历存储单元中的pdm文件,将pdm文件中与所述 数据库表名称相匹配的数据库表确定为目标数据库表,并利用所述输入输出机构401获取 该目标数据库表的主键信息及相关列信息,通过所述CPU402将所述主键及相关属性填充 至预先根据Po类和dao类结构建立的po模板和dao模板,生成所述po类和dao类。综上所述,本发明提供的方法、装置和计算机是通过获取目标数据库表的主键及 相关属性,并将该数据库表的主键及相关属性填充至预先建立的程序对象模板中,即可生 成相应的程序对象。所以本发明提供的方案在整个项目开发的过程中,可以根据程序对象 模板并结合目标数据库表的主键及相关属性自动生成程序对象,不需要人为的去编写相似 的控制数据库表的代码,从而节约人力和时间的成本,因此,提升了工作效率。需要说明的是,图1至图4所示的实施例只是本发明所介绍的优选实施例,本领域 技术人员在此基础上,完全可以设计出更多的实施例,因此本发明并不局限于已提供的实 施例,对这些实施例的多种修改对本领域的专业技术人员来说是显而易见的,都为本发明 保护的范围,由于篇幅有限,不在此处赘述。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置 而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说 明即可。本领域技术人员可以理解,可以使用许多不同的工艺和技术中的任意一种来表示 信息、消息和信号。例如,上述说明中提到过的消息、信息都可以表示为电压、电流、电磁波、 磁场或磁性粒子、光场或以上任意组合。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元 及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和 软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些 功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业 技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应 认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执 行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存 储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术 领域内所公知的任意其它形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明 将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
权利要求
一种程序对象生成方法,其特征在于,包括获取用户输入的数据库表的名称;遍历预先设置的包括若干数据库表的参考文件,将与所述用户输入的数据库表的名称相匹配的数据库表确定为目标数据库表;获取该目标数据库表的主键及相关属性,将所述主键及相关属性填充至预先根据程序对象结构建立的程序对象模板,生成所述程序对象。
2.根据权利要求1所述的程序对象生成方法,其特征在于,将生成的所述程序对象保 存到预设目录下。
3.根据权利要求2所述的程序对象生成方法,其特征在于,所述参考文件为pdm文件; 所述程序对象为Po类和dao类;所述程序对象模板为groovy模板。
4.一种程序对象生成装置,其特征在于,包括第一获取模块、遍历模块、查找模块、第 二获取模块和生成模块;所述第一获取模块,用于获取用户输入的数据库表的名称; 所述遍历模块,用于遍历预先设置的包括若干数据库表的参考文件; 所述查找模块,用于将与所述用户输入的数据库表的名称相匹配的数据库表确定为目 标数据库表;所述第二获取模块,用于获取该目标数据库表的主键及相关属性; 所述生成模块,用于将所述主键及相关属性填充至预先根据程序对象结构建立的程序 对象模板,生成所述程序对象。
5.根据权利要求4所述的程序对象生成装置,其特征在于,还包括保存模块; 所述保存模块,用于将生成的所述程序对象保存到预设目录下。
6.一种执行权利要求1的方法的计算机,包括输入输出机构、存储单元和中央处理器 CPU,其特征在于,还包括程序对象生成装置,其中所述存储单元存储有多个参考文件,各所述参考文件中包括若干数据库表; 所述程序对象生成装置利用输入输出机构来获取用户输入的数据库表名称,通过所述 CPU来遍历存储单元中的参考文件,将参考文件中与所述数据库表名称相匹配的数据库表 确定为目标数据库表,并利用所述输入输出机构获取该目标数据库表的主键及相关属性, 通过所述CPU将所述主键及相关属性填充至预先根据程序对象结构建立的程序对象模板, 生成所述程序对象。
全文摘要
本发明公开了一种程序对象生成方法、装置及计算机,包括获取用户输入的数据库表的名称;遍历预先设置的包括若干数据库表的参考文件,将与用户输入的数据库表的名称相匹配的数据库表确定为目标数据库表;获取该目标数据库表的主键及相关属性,将主键及相关属性填充至预先根据程序对象结构建立的程序对象模板,生成程序对象。本发明提供的方案在整个项目开发的过程中,可以根据程序对象模板并结合目标数据库表的主键及相关属性自动生成程序对象,不需要人为的去编写相似的控制数据库表的代码,从而节约人力和时间的成本,因此,提升了工作效率。
文档编号G06F9/44GK101819530SQ20101016027
公开日2010年9月1日 申请日期2010年4月30日 优先权日2010年4月30日
发明者刘民, 张丽, 张青, 温尚卓 申请人:山东中创软件工程股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1