一种基于关系型数据库的异构系统数据级联操作自动构建方法技术方案

技术编号:15690981 阅读:109 留言:0更新日期:2017-06-24 03:49
本发明专利技术提供一种基于关系型数据库的异构系统数据级联操作自动构建方法,服务器可以通过报文接口方式为异构系统客户端提供数据服务,并可以通过接口中配置项方式提供关联表级联数据操作。该方法包括通过连接关系型数据库获取业务元数据,再通过代码生成器生成展示层、实体层、控制层、解析层、处理层、封装层、持久化层共七层结构源代码,并通过代码生成器生成实体与关联实体存储更新、实体与关联实体详情查询、实体与关联实体列表查询、实体删除、实体批量删除五大接口的文档,可以为各种客户端前端展示开发提供数据服务。

Method for automatically constructing data cascading operation of heterogeneous system based on relational database

The present invention provides a method of automatically constructing heterogeneous data system of cascade operation based on the relational database, the server can provide data service for heterogeneous systems through the client message interface, and can be through the interface configuration mode associated with cascade data operation. The method includes by connecting the relational database access business metadata, and then display layer, physical layer, control layer, control layer, processing layer, encapsulation layer, persistence layer seven layer structure of the source code by code generator, and by storing the generated entity code generator associated with the entity, entity and update related entities, the details of inquiries the entity associated with the entity list query, delete, delete entity entity five interface documentation, can display various client front-end development to provide data services.

【技术实现步骤摘要】
一种基于关系型数据库的异构系统数据级联操作自动构建方法
本专利技术涉及一种基于关系型数据库的异构系统数据级联操作自动构建方法。
技术介绍
自动构建是指通过提前定制好的模板,根据不同的业务元数据,自动生成出符合业务需求的产品,大大节省了企业产品的制造时间和人力成本,在许多应用领域都有着巨大的提高效能的作用,例如3D打印、汽车制造等等行业,在电子商务、互联网金融、企业信息化等软件系统开发中自动构建也是不可缺少的好帮手,程序员可以基于自动生成的源码文件进行业务逻辑的二次开发,这样就可以花更多的精力在业务逻辑和用户界面交互上,大大提高开发效率和用户体验。目前软件系统开发中常见的自动构建是基于XML配置文件或关系型数据库来获取业务元数据。XML即可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。XML配置文件可读性高、跨平台强,但其缺点是只有简单的表结构关系,无法建立复杂关系表结构映射,然而关系型数据库却可提供较高的业务扩展性和复杂关系结构映射,有了业务元数据后,再通过模板来生成页面展示层、控制层、数据持久化层这三层MVC架构的业务相关代码,这样就可以通过界面上的用户交互来实现对业务数据实体的数据库查询存储操作,但是往往仅只能对单表的属性字段进行操作,无法实现关联表数据的级联操作,而且光生成三层架构无法对异构系统客户端提供数据服务,缺少跨平台性。在现有技术中存在以下技术方案:方案一:CN102629204A[1]。文献[1]通过面向用户界面的Java开发工具,接收设定的待维护表的属性标识信息,并根据所述属性标识信息在待查询数据库中查询获取所述待维护表的元数据生成Java对象,根据所要生成的网页源代码的编程语言及规范,生成模板文件,最后根据所述Java对象及所述模板文件生成网页源代码。该方案是一种展示层代码生成方法,通过连接数关系型数据库获取元数据,通过模板将元数据自动生成展示页面,以达到快速开发目的,但是只有展示层页面,没有持久化层无法直接连通数据库操作数据,要获取到数据还是得手动编写代码,具有一定的局限性。一般而言,MVC三层架构:是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。方案二:CN101697120A[2]。文献[2]基于关系性数据库,通过设置目标代码模板,获取外部数据,经过逻辑运算,自动生成MVC三层架构,生成目标代码后,程序员把文件、文件夹以及整个java包复制下来粘贴到工程里,实现一个表的增删改查功能,而后做只需逻辑部分的修改完善,即可完成一个模块的开发。该方案可以根据关系型数据库生成mvc三层架构代码,以提高程序员开发速度,但是此方法不能级联操作关联表,只能对一个表进行数据操作,因为实际业务场景有很多关联表,遇到主从表关系还是得编代码,效率依旧不高。方案三:CN103500087A[3]。文献[3]根据数据库设计文档或数据库表编写或生成hbm.xml文件,依据项目特点和freemarker模版语法编写模版,调用封装了代码生成的运算逻辑的maven插件,根据第一步骤所准备的hbm.xml文件和freemarker模版文件进行逻辑运算,生成MVC三层架构的目标代码。该方案可以根据关系型数据库映射出元数据的xml配置文件,再将宏套用在代码模板中生成MVC目标代码来提高开发速度,但是此方法需要手动映射元数据xml配置文件或用逆向工具映射,步骤有点冗余,没有直接连接数据库读取元数据方便,并且前后台没有用接口定义方式,无法为其他异构系统客户端提供数据服务。
技术实现思路
本专利技术为了克服上述现有技术中的技术缺陷,提出一种针对异构系统客户端的数据级联操作接口的自动构建方法,本专利技术的目的是通过以下技术方案实现的。一种基于关系型数据库的异构系统数据级联操作自动构建方法,所述方法包括以下步骤:1)连接关系型数据库;2)获取元数据;3)通过代码生成器生成展示层、实体层、控制层、解析层、处理层、封装层、持久化层共七层结构源代码;4)通过代码生成器生成实体与关联实体存储更新、实体与关联实体详情查询、实体与关联实体列表查询、实体删除、实体批量删除五大接口的文档。其中,步骤1)包括:通过配置文件连接所述关系型数据库,并通过配置维护数据连接池,当需要请求数据库时,连接池返回给上层应用一个可用的数据库连接。其中,步骤2)包括:通过数据库连接读取所述关系型数据库中表的主键、表名、表注解、字段名、字段类型、字段注解、外键作为元数据。其中,步骤3)包括:将所述元数据组成对象值传入模板,并根据不同的表名生成对应的文件夹放入自动构建的源代码,通过代码生成器生成展示层、实体层、控制层、解析层、处理层、封装层、持久化层七层结构源代码。其中,步骤4)包括:通过代码生成器对每种实体生成实体与关联实体存储更新、实体与关联实体详情查询、实体与关联实体列表查询、实体删除、实体批量删除五个接口报文格式的Word文档,各种异构系统的前台程序员调用接口对数据库进行操作;其中,所述实体与关联实体存储更新包括:先将关联实体保存更新并生成主键,然后将本表实体保存更新并存入关联实体的主键当做外键;所述实体与关联实体详情查询包括:先根据条件查询本表记录详情,然后看接口中是否有需要查询关联实体的配置项,默认为不查询,如果需要查询,则根据本表的外键值,查询关联实体的记录;所述实体与关联实体列表查询包括:先根据条件查询本表列表记录,再看级联查询配置项,支持一层级关联表的数据查询;所述实体删除包括:根据本表主键,删除本表一条记录;所述实体批量删除包括:根据查询条件,批量删除本表记录。其中,所述展示层是用于用户与服务器交互的界面,其用于收到用户指令,并将指令通过接口Json报文方式传递给服务器,并将服务器的操作结果返回给用户;所述实体层用于对关系型数据库表中字段的映射,提供set和get方法给Java对象赋值,当需要存数据库时,将值set到Java实体中,并通过持久化层保存到数据库,当需要查询数据库时,通过持久化层将数据库中值赋予Java实体,上层引用时就可以get到;所述控制层用于客户端与服务器的交互,当客户端与服务器进行交互时,由所述控制层控制页面的跳转或指令的执行;所述解析层用于通过Json报文解析成Java对象的模块,由此解析出报文指令,当是存储数据时解析出需要修改的字段,当是查询时解析出需要查询的条件字段;所述处理层用于通过解析出报文指令,跳转不同的处理方法,处理层根据指令和级联数据操作配置项调用不同的持久层方法,并调用封装层代码将数据返回给前台;所述封装层用于将Java对象转成Json报文的模块,根据不同的报文指令,封装成不同的报文。所述持久化层作为与数据库连接的模块,用于给所述处理层提供对数据库增删改查的接口,所述处理层会调用这些接口做业务逻辑处理。其中,所述接口Json报文方式可替换为Xml格式。其中,将所述元数据组成对象值传入模板为Velocity模板。其中,通过配置文件连接所述关系型数据库为Mysql关系型数据库。本专利技术的基本文档来自技高网
...
一种基于关系型数据库的异构系统数据级联操作自动构建方法

【技术保护点】
一种基于关系型数据库的异构系统数据级联操作自动构建方法,其特征在于,所述方法包括以下步骤:1)连接关系型数据库;2)获取元数据;3)通过代码生成器生成展示层、实体层、控制层、解析层、处理层、封装层、持久化层共七层结构源代码;4)通过代码生成器生成实体与关联实体存储更新、实体与关联实体详情查询、实体与关联实体列表查询、实体删除、实体批量删除五大接口的文档。

【技术特征摘要】
1.一种基于关系型数据库的异构系统数据级联操作自动构建方法,其特征在于,所述方法包括以下步骤:1)连接关系型数据库;2)获取元数据;3)通过代码生成器生成展示层、实体层、控制层、解析层、处理层、封装层、持久化层共七层结构源代码;4)通过代码生成器生成实体与关联实体存储更新、实体与关联实体详情查询、实体与关联实体列表查询、实体删除、实体批量删除五大接口的文档。2.根据权利要求1所述的方法,其特征在于,步骤1)包括:通过配置文件连接所述关系型数据库,并通过配置维护数据连接池,当需要请求数据库时,连接池返回给上层应用一个可用的数据库连接。3.根据权利要求1所述的方法,其特征在于,步骤2)包括:通过数据库连接读取所述关系型数据库中表的主键、表名、表注解、字段名、字段类型、字段注解、外键作为元数据。4.根据权利要求1所述的方法,其特征在于,步骤3)包括:将所述元数据组成对象值传入模板,并根据不同的表名生成对应的文件夹放入自动构建的源代码,通过代码生成器生成展示层、实体层、控制层、解析层、处理层、封装层、持久化层七层结构源代码。5.根据权利要求1所述的方法,其特征在于,步骤4)包括:通过代码生成器对每种实体生成实体与关联实体存储更新、实体与关联实体详情查询、实体与关联实体列表查询、实体删除、实体批量删除五个接口报文格式的Word文档,各种异构系统的前台程序员调用接口对数据库进行操作;其中,所述实体与关联实体存储更新包括:先将关联实体保存更新并生成主键,然后将本表实体保存更新并存入关联实体的主键当做外键;所述实体与关联实体详情查询包括:先根据条件查询本表记录详情,然后看接口中是否有需要查询关联实体的配置项,默认为不查询,如果需要查询,则根据本表的外键值,查询关联实体的记录;所述实体与关联实体列表查询包括:先...

【专利技术属性】
技术研发人员:顾峰牟荣增王宏飞汪洋
申请(专利权)人:中科院微电子研究所昆山分所
类型:发明
国别省市:江苏,32

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

1