一种基于Java反射技术的数据对接方法及系统技术方案

技术编号:21059519 阅读:16 留言:0更新日期:2019-05-08 06:35
本发明专利技术公开了一种基于Java反射技术的数据对接方法及系统,属于计算机技术领域,本发明专利技术要解决的技术问题为如何对多个系统之间参与数据对接的字段进行关系映射和反射传值,提高程序的通用性、易用性和扩展性,采用的技术方案为:基于Java反射技术的数据对接方法,该方法是建立两个及两个以上相对独立的系统中关联字段的数据字段映射关系,并将映射关系保存到数据库表中,通过编写SQL来查询数据库中配置的数据字段的映射关系,得到发送数据字段和接收数据字段,再通过查询系统中的发送数据集合,获取某一数据字段的数据类型和值,通过格式化转换、数据类型转换以及Java反射技术,实现数据的转移和转换。本发明专利技术还公开了基于Java反射技术的数据对接系统。

【技术实现步骤摘要】
一种基于Java反射技术的数据对接方法及系统
本专利技术涉及计算机
,具体地说是一种基于Java反射技术的数据对接方法及系统。
技术介绍
Java反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。Java反射(放射)机制:"程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言"。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。在软件系统中,不同业务系统之间往往要进行数据的交流、共享,这就涉及到数据的对接。传统的方法是数据导入方根据数据导出方导出的数据,在软件程序中固定两个系统之间的数据映射字段,采用硬编码的方式,从而实现数据由一个系统向另一个系统的流转。但是这种方法有一个明显的缺点,那就是可扩展性差,当用户需求发生改变,需要增加或删除某些数据字段时,唯一的办法只能修改程序,然后通过补丁升级的方式来实现,无法做到随需应变,大大限制了程序的通用性、易用性和扩展性。故如何对多个系统之间参与数据对接的字段进行关系映射和反射传值,提高程序的通用性、易用性和扩展性,消除传统方法不灵活、不便于后期维护的缺陷是目前现有技术中急需解决的技术问题。专利号为CN106202455A公开了一种实现多行业数据切换查询的数据查询系统及方法,针对国内被监测对象的关键词在国外各大网站进行爬取,将采集来的原始数据存储在ElasticSearch数据库中并进行清洗,然后再将处理过的有效数据对接到MySQL数据库中,按照系统需要的字段存储到中间表中,最后再根据此系统的各个模块所需要的数据格式,将中间表中的数据进行统计分析,将最后结果存放在MySQL库中的最终表中,并通过多行业之间切换展示的方式对数据信息进行展示。但是该技术方案不能解决多个系统之间参与数据对接的字段进行关系映射和反射传值,提高程序的通用性、易用性和扩展性的问题。
技术实现思路
本专利技术的技术任务是提供一种基于Java反射技术的数据对接方法及系统,来解决如何对多个系统之间参与数据对接的字段进行关系映射和反射传值,提高程序的通用性、易用性和扩展性,消除传统方法不灵活、不便于后期维护的问题。本专利技术的技术任务是按以下方式实现的,一种基于Java反射技术的数据对接方法,该方法是建立两个及两个以上相对独立的系统中关联字段的数据字段映射关系,并将映射关系保存到数据库表中,通过编写SQL来查询数据库中配置的数据字段的映射关系,得到发送数据字段和接收数据字段,再通过查询系统中的发送数据集合,获取某一数据字段的数据类型和值,通过格式化转换、数据类型转换以及Java反射技术,对持久层数据库对象进行数据处理,实现数据的转移和转换。作为优选,该方法具体包括如下步骤:S1、在数据库中配置并建立不同系统之间数据字段的映射关系,形成数据字段映射关系表;S2、对参与数据对接的数据字段利用格式转换模块进行格式化处理,以满足getter以及setter方法调用;S3、根据不同数据字段的数据类型对数据字段进行自动识别并进行自动格式转换;S4、系统利用Java反射技术将发送数据字段的值传递给接收数据字段,完成数据对接。更优地,所述步骤S1中数据字段的内容包括接收数据字段、接收数据字段名称、发送数据字段、发送数据字段名称、发送数据字段版本、发动字段备注信息、接收数据字段版本以及接收数据字段备注信息。更优地,所述步骤S1中用于建立映射关系的数据字段的数量采用弹性配置的方式,按需在数据库中运用SQL语句增加或减少数据字段,无需修改程序,增减数据字段后立即生效,无需重启。更优地,所述步骤S2中格式转换模块是采用getter以及setter方法编写的格式化工具。更优地,所述步骤S3中对数据类型进行自动识别是采用Java反射技术动态识别传入的数据类型。更优地,所述步骤S4中数据对接的具体步骤如下:(1)、从配置的数据字段映射关系表中取出接收数据字段和发送数据字段;(2)、利用Java反射技术将发送数据字段携带的值自动传递给接收数据字段,自动完成数据交互和转移并对存在的异常进行处理。一种基于Java反射技术的数据对接系统,该系统包括,映射关系模块,用于在数据库中建立两个及两个以上相对独立系统之间的数据字段映射关系,实现多系统数据交互时,根据配置自动映射数据,无需在程序中固定用于建立映射关系的数据字段,且用于建立映射关系的数据字段采用弹性配置,按需增加或者减少数据映射字段,而无需修改程序,同时增删数据字段立即生效,无需重启应用服务器,提高了易用性和使用效率,确保能够快速初始化数据表现层以及数据持久层对象;格式化转换模块,用于将从数据库中取到的数据字段转换为可以进行getter或setter方法操作的格式;数据类型处理模块,用于根据系统中的数据类型对映射关系表中系统的数据字段进行数据类型处理,确保在进行数据对接时提供准确的数据类型,减少异常情况的发生;数据反射处理模块,用于根据配置在数据库中的数据字段的映射关系,以系统中的数据类型和数值为基准,通过利用Java反射技术将值给与系统建立映射关系的另一个系统中的数据库,从而完成数据的交互和转移。作为优选,所述映射关系模块是将映射关系配置在数据库,系统在进行数据交互时,先去数据库查询开发人员配置好的映射关系,系统根据查询结果来确定参与交互的数据。本专利技术的基于Java反射技术的数据对接方法及系统具有以下优点:(一)、本专利技术对多个系统之间参与数据对接的字段进行关系映射和反射传值,解决了传统方法不灵活、不便于后期维护的问题,特别适合多系统数据对接时,数据交互字段多或者字段变化性较大的应用场景中,通过本专利技术使软件产品更加符合使用者的要求,在一定程度上做到随需应变;(二)、本专利技术避免了传统方法带来的扩展性不高的问题,不同系统之间的数据字段映射关系存储在关系型数据库中,而不是固定植入在程序中,从而实现了映射字段的随需修改,只要在数据库中执行一下插入或者删除SQL语句,就能即刻实现数据对接内容的改变,无需修改程序、无需发布补丁、无需重启应用服务器,提高了易用性和使用效率;(三)、本专利技术根据实际业务需求,用户可以随时增加建立映射关系的数据字段的数量,可以删除个别建立映射关系的数据字段,达到随需而变的目的,确保系统运用灵活,便于后期维护管理;(四)、本专利技术能够快速初始化数据表现层以及数据持久层对象,对于在表现层显示数据的VO值对象快速初始化,避免出现NULL值等异常;对POJO普通Java对象进行初始化,为数据持久化做准备。设计合理、结构简单、易于加工、体积小、使用方便、一物多用等特点,因而,具有很好的推广使用价值。附图说明下面结合附图对本专利技术进一步说明。附图1为基于Java反本文档来自技高网
...

【技术保护点】
1.一种基于Java反射技术的数据对接方法,其特征在于,该方法是建立两个及两个以上相对独立的系统中关联字段的数据字段映射关系,并将映射关系保存到数据库表中,通过编写SQL来查询数据库中配置的数据字段的映射关系,得到发送数据字段和接收数据字段,再通过查询系统中的发送数据集合,获取某一数据字段的数据类型和值,通过格式化转换、数据类型转换以及Java反射技术,对持久层数据库对象进行数据处理,实现数据的转移和转换。

【技术特征摘要】
1.一种基于Java反射技术的数据对接方法,其特征在于,该方法是建立两个及两个以上相对独立的系统中关联字段的数据字段映射关系,并将映射关系保存到数据库表中,通过编写SQL来查询数据库中配置的数据字段的映射关系,得到发送数据字段和接收数据字段,再通过查询系统中的发送数据集合,获取某一数据字段的数据类型和值,通过格式化转换、数据类型转换以及Java反射技术,对持久层数据库对象进行数据处理,实现数据的转移和转换。2.根据权利要求1所述的基于Java反射技术的数据对接方法,其特征在于,该方法具体包括如下步骤:S1、在数据库中配置并建立不同系统之间数据字段的映射关系,形成数据字段映射关系表;S2、对参与数据对接的数据字段利用格式转换模块进行格式化处理,以满足getter以及setter方法调用;S3、根据不同数据字段的数据类型对数据字段进行自动识别并进行自动格式转换;S4、系统利用Java反射技术将发送数据字段的值传递给接收数据字段,完成数据对接。3.根据权利要求2所述的基于Java反射技术的数据对接方法,其特征在于,所述步骤S1中数据字段的内容包括接收数据字段、接收数据字段名称、发送数据字段、发送数据字段名称、发送数据字段版本、发动字段备注信息、接收数据字段版本以及接收数据字段备注信息。4.根据权利要求2或3所述的基于Java反射技术的数据对接方法,其特征在于,所述步骤S1中用于建立映射关系的数据字段的数量采用弹性配置的方式,按需在数据库中运用SQL语句增加或减少数据字段,无需修改程序,增减数据字段后立即生效,无需重启。5.根据权利要求2所述的基于Java反射技术的数据对接方法,其特征在于,所述步骤S2中格式转换模块是采用getter以及setter方法编写的格式化工具。6.根据权利要求2所述的基于Ja...

【专利技术属性】
技术研发人员:杨鹏陈建史艳庆
申请(专利权)人:山东浪潮通软信息科技有限公司
类型:发明
国别省市:山东,37

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

1