[发明专利]一种Java代码生成方法无效
申请号: | 201310349318.6 | 申请日: | 2013-08-12 |
公开(公告)号: | CN103473108A | 公开(公告)日: | 2013-12-25 |
发明(设计)人: | 陈华光;徐舒延;王涵;刘雅文 | 申请(专利权)人: | 福建富士通信息软件有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 宋连梅 |
地址: | 350000 福建省福州*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 代码 生成 方法 | ||
技术领域
本发明具体涉及一种Java代码生成方法。
背景技术
现有代码生成方法一般分为两大类:被动代码生成方法和主动代码生成方法。在被动代码生成方法中,一般采用可视化向导的方式配置生成部分代码,然后软件开发人员对代码进行必要的编辑修改,这种生成过程只进行一次,不对已修改的代码进行维护;目前大部分的集成开发环境(Integrated Development Environment,IDE)或者编辑器就包含有这种代码生成方法。但是这种代码生成方法的局限性也是显而易见的,IDE或者编辑器只负责生成一次,剩下的工作量都是软件开发人员的,重新生成将会覆盖已修改的代码,而且也只适用于部分场景,可配置性不足。
在主动代码生成方法中,软件开发人员同样可对生成的代码进行编辑修改,而改动后的代码可以作为参数导入生成器,生成器保留改动后的代码,并影响之后的代码生成,同时可配置性以及适用范围都比被动代码生成方法更好,目前编译器类型的生成器属于主动代码生成方法。然而,现有的主动代码生成方法是直接通过数据库表进行的,由数据库表开始解析,必须转化出对应某一种数据库的建表脚本创建数据库,这要求代码生成方法要适配于多种主流数据库。另外,虽然可对单个新添加的数据库表单独生成代码,但是生成的代码全部混合放置于各个层次的包中,不能按照数据相关性分包分类生成,无法简便地在数据库模型阶段引入自定义标识、检索、异常等逻辑。
发明内容
本发明所要解决的技术问题在于提供一种Java代码生成方法,具有可维护性高、代码一致性好、可重用性强,提高了开发效率,降低了人力成本。
本发明是通过以下技术方案解决上述技术问题的:一种Java代码生成方法,该方法需提供一模板模块、数据解析模块、代码生成模块和数据模块,所述代码生成模块中定义有一源代码自动生成脚本;所述Java代码生成方法的具体操作方法如下:
步骤10:将元数据进行解释定义,形成一元数据文件,并存储于所述数据模块中;所述元数据用于描述数据结构、数据库中的要素及要素之间关联关系信息的数据;
步骤20:所述数据解析模块提取所述元数据文件,并解析出元数据,同时从所述模板模块获取代码模板,并根据所述代码模板封装元数据,把元数据转换为模板对象,最后将所述代码模板和模板对象交给代码生成模块;所述代码模板中具有用于标识所述模板对象的命名参数;
步骤30:代码生成模块执行所述源代码自动生成脚本,使用所述模板对象对所述代码模板中的命名参数进行赋值,生成复数个源代码文件,并保存在数据模块中且对应于所述元数据文件所在位置处,该元数据文件所在位置处为:步骤10中元数据文件存储在数据模块中的地址位置。
进一步地,所述步骤10中的元数据定义为6种类型,包括实体定义、属性定义、方法定义、关联关系定义、异常定义和权限定义;
所述实体定义用于指定代码的实体类,其对应着一数据库的数据库表;
所述属性定义用于指定实体类下的属性,其对应着一数据库的数据库表字段;
所述方法定义用于指定实体类下对一数据库进行操作的方法,其对应着基本数据操作;
所述关联关系定义用于指定各实体类之间的引用关系,其对应着一数据库的数据库表之间的关联关系;
所述异常定义用于生成一实体类的异常类,以精确定位异常;
所述权限定义用于定义功能模块,并为各功能模块分别加上权限限制。
进一步地,所述复数个源代码文件的逻辑架构分为数据模型层、数据持久层和业务逻辑层;所述数据模型层与一数据库对应,数据模型层中的每一实体类均对应于该数据库中的一数据库表;所述数据库持久层对应于所述数据库的基本数据操作;所述业务逻辑层为各功能模块提供业务逻辑;
所述数据持久层调用数据模型层操作数据库,所述业务逻辑层调用数据持久层,把各种业务逻辑处理完的数据写入数据库相关联的数据库表中,同时处理写入过程中上报的异常,精确定位到具体实体类的何种异常。
进一步地,所述步骤30中,代码生成模块执行所述源代码自动生成脚本后,代码生成模块还生成一权限控制模块和一授权服务模块;所述权限控制模块用于对各功能模块设置访问权限,所述授权服务模块用于对用户访问数据模块的访问请求进行访问权限检测;
所述Java代码生成方法还包括以下内容:
步骤40:代码生成模块再次执行所述源代码自动生成脚本,然后检测所述功能模块和业务逻辑层是否存在变更,若是,则执行步骤50;若否,则结束流程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建富士通信息软件有限公司,未经福建富士通信息软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310349318.6/2.html,转载请声明来源钻瓜专利网。