CN112596785A - 一种基于注解的多数据源管理方法 - Google Patents

一种基于注解的多数据源管理方法 Download PDF

Info

Publication number
CN112596785A
CN112596785A CN202110047556.6A CN202110047556A CN112596785A CN 112596785 A CN112596785 A CN 112596785A CN 202110047556 A CN202110047556 A CN 202110047556A CN 112596785 A CN112596785 A CN 112596785A
Authority
CN
China
Prior art keywords
data
data source
connection
annotation
manager
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110047556.6A
Other languages
English (en)
Inventor
胡旭辉
张启亮
姜丽萍
曹洁生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Xugong Information Technology Co ltd
Original Assignee
Jiangsu Xugong Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Xugong Information Technology Co ltd filed Critical Jiangsu Xugong Information Technology Co ltd
Priority to CN202110047556.6A priority Critical patent/CN112596785A/zh
Publication of CN112596785A publication Critical patent/CN112596785A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于注解的多数据源管理方法,包括如下步骤:在项目启动时加载所有的已配置的数据源至数据源管理对象中;在操作对象上添加注解并唯一标识对应的数据源配置对象;当调用操作对象的相关方法时,数据源管理器通过注解获取到唯一的数据源身份标识;数据源管理器通过唯一的身份标识从数据连接池管理对象中获取对应的连接;数据管理器将得到的连接返回给操作对象,操作对象通过返回的连接进行相关的数据操作。本发明的方法采用原生方式,随处可运行,并提供通用接口,实现对多数据源的管理及使用,提高开发人员的开发效率。

Description

一种基于注解的多数据源管理方法
技术领域
本发明涉及数据源管理技术领域,具体是一种基于注解的多数据源管理方法。
背景技术
在日常开发中,有很多项目需要应对连接多个数据源的情况,例如项目中需要连接多个关系型数据库,需要维护多个数据库连接,每次调用都需要找到相应的连接并编写基于连接的一连串增删改查等调用代码。在以往的解决方案中,数据连接部分就需要开发者编写大量代码,每次调用连接操作数据源时,也需要按照规范编写大量代码来进行操作,如果出现需要扩展数据源的情况,有需要的编写大量代码来维护一个新的数据库连接,调用时还需要特别指明数据源,出现大量重复性工作,同时也不利于项目维护。如果基于一些框架管理,例如Spring,数据源的切换都要在Spring容器内部完成,无法满足无Spring容器开发场景的需求。
接口:开放给开发人员进行调用的方法;
数据源:数据来源,例如关系型数据库、数据缓存redis等;
注解:编程语言中的一种特殊标记;
反射:一种java的编程技术;
连接池:一种管理数据连接的方法;
API:应用程序编程接口。
发明内容
本发明所要解决的技术问题在于克服上述现有技术之不足,提供一种使用简单、效率高的基于注解的多数据源管理方法。
本发明是以如下技术方案实现的:一种基于注解的多数据源管理方法,包括如下步骤:
S1、在项目启动时加载所有的已配置的数据源至数据源管理对象中;
S2、在操作对象上添加注解并唯一标识对应的数据源配置对象;
S3、当调用操作对象的相关方法时,数据源管理器通过注解获取到唯一的数据源身份标识;
S4、数据源管理器通过唯一的身份标识从数据连接池管理对象中获取对应的连接;
S5、数据管理器将得到的连接返回给操作对象,操作对象通过返回的连接进行相关的数据操作;
S6、数据源调用及操作过程结束。
其进一步是:步骤S1中, 所述数据操作对象提供数据操作的通用API。
步骤S3中,所述数据源管理器用来获取数据操作对象的身份标识并提供向连接池管理器申请连接的方法,支持扩展多种数据源。
步骤S4中,所述连接池管理器管理多个数据连接池,管理数据连接池的创建、销毁和重加载工作。
步骤S4中,所述连接池为第三方或者自定义数据连接池。
本发明具有以下优点:本发明的一种基于注解的多数据源管理方法,该方法采用自定义注解、反射、配置等技术实现对多数据源的管理和调用,使用简单高效,实现过程及实现细节对开发人员透明,可实现让开发人员专注于业务开发,无需关系底层数据接入、数据管理等一系列复杂操作,大大提升开发效率。
附图说明
图1是本发明的方法流程图:
图2是本发明的代码调用流程。
具体实施方式
如图1至图2所示的一种基于注解的多数据源管理方法,包括如下步骤:
S1、在项目启动时加载所有的已配置的数据源至数据源管理对象中;数据操作对象提供数据操作的通用API;
S2、在操作对象上添加注解并唯一标识对应的数据源配置对象;
S3、当调用操作对象的相关方法时,数据源管理器通过注解获取到唯一的数据源身份标识;数据源管理器用来获取数据操作对象的身份标识并提供向连接池管理器申请连接的方法,支持扩展多种数据源;
S4、数据源管理器通过唯一的身份标识从数据连接池管理对象中获取对应的连接;连接池管理器管理多个数据连接池,管理数据连接池的创建、销毁和重加载工作;连接池为第三方或者自定义数据连接池;
S5、数据管理器将得到的连接返回给操作对象,操作对象通过返回的连接进行相关的数据操作;
S6、数据源调用及操作过程结束。
如图2所示的代码结构及调用过程,右侧AbstractDataSource为各类数据连接管理器,左侧DataSourceManager为各类数据操作对象API管理器,用户发起操作请求后DataSourceManager向AbstractDataSource申请资源。AbstractDataSource可实现对数据源的横向扩展,DataSourceManager可实现操作入口的横向扩展。
本发明的基于注解的多数据源管理方法为每一个操作API对象赋予唯一的身份标识,绑定数据源,后续进行操作时,直接通过身份标识获取相应连接对象,.每一个调用步骤均有相应的对象进行管理,稳定性强扩展性好,抽象数据源管理类,可扩展多种不同类型数据源,用户只需要配置和创建调用API即可,使用简单便捷。
为了解决日常开发过程中多数据源管理及使用的需求,本申请提供一种基于注解的多数据源管理方法,该方案采用自定义注解基于反射和数据库连接池,自动实现对数据源的匹配调用,使用简单,实现过程安全高效,开发人员无需关心底层数据连接管理等过程,各个数据源独立配置,数据源通过配置可快速扩展,以接口方式对外暴露数据操作,大大提升了开发效率。

Claims (5)

1.一种基于注解的多数据源管理方法,其特征在于:包括如下步骤:
S1、在项目启动时加载所有的已配置的数据源至数据源管理对象中;
S2、在操作对象上添加注解并唯一标识对应的数据源配置对象;
S3、当调用操作对象的相关方法时,数据源管理器通过注解获取到唯一的数据源身份标识;
S4、数据源管理器通过唯一的身份标识从数据连接池管理对象中获取对应的连接;
S5、数据管理器将得到的连接返回给操作对象,操作对象通过返回的连接进行相关的数据操作;
S6、数据源调用及操作过程结束。
2.如权利要求1所述的一种基于注解的多数据源管理方法,其特征在于:步骤S1中, 所述数据操作对象提供数据操作的通用API。
3.如权利要求1所述的一种基于注解的多数据源管理方法,其特征在于:步骤S3中,所述数据源管理器用来获取数据操作对象的身份标识并提供向连接池管理器申请连接的方法,支持扩展多种数据源。
4.如权利要求1所述的一种基于注解的多数据源管理方法,其特征在于:步骤S4中,所述连接池管理器管理多个数据连接池,管理数据连接池的创建、销毁和重加载工作。
5.如权利要求1所述的一种基于注解的多数据源管理方法,其特征在于:步骤S4中,所述连接池为第三方或者自定义数据连接池。
CN202110047556.6A 2021-01-14 2021-01-14 一种基于注解的多数据源管理方法 Pending CN112596785A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110047556.6A CN112596785A (zh) 2021-01-14 2021-01-14 一种基于注解的多数据源管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110047556.6A CN112596785A (zh) 2021-01-14 2021-01-14 一种基于注解的多数据源管理方法

Publications (1)

Publication Number Publication Date
CN112596785A true CN112596785A (zh) 2021-04-02

Family

ID=75208022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110047556.6A Pending CN112596785A (zh) 2021-01-14 2021-01-14 一种基于注解的多数据源管理方法

Country Status (1)

Country Link
CN (1) CN112596785A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806813A (zh) * 2021-08-27 2021-12-17 上海得帆信息技术有限公司 一种多数据源的数据隔离切换方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321337A (zh) * 2019-06-24 2019-10-11 南威互联网科技集团有限公司 一种实现数据库动态切换的方法及计算机可读存储介质
CN110717050A (zh) * 2019-09-17 2020-01-21 金色熊猫有限公司 一种知识图谱数据库的访问方法及装置
CN110837531A (zh) * 2019-10-12 2020-02-25 中国平安财产保险股份有限公司 数据源读写的分离方法、装置及计算机可读存储介质
CN111638923A (zh) * 2020-06-04 2020-09-08 北京思特奇信息技术股份有限公司 一种基于Java注解进行数据路由的方法和装置
CN111797073A (zh) * 2019-11-26 2020-10-20 北京京东尚科信息技术有限公司 数据库管理方法、电子设备与计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321337A (zh) * 2019-06-24 2019-10-11 南威互联网科技集团有限公司 一种实现数据库动态切换的方法及计算机可读存储介质
CN110717050A (zh) * 2019-09-17 2020-01-21 金色熊猫有限公司 一种知识图谱数据库的访问方法及装置
CN110837531A (zh) * 2019-10-12 2020-02-25 中国平安财产保险股份有限公司 数据源读写的分离方法、装置及计算机可读存储介质
CN111797073A (zh) * 2019-11-26 2020-10-20 北京京东尚科信息技术有限公司 数据库管理方法、电子设备与计算机可读存储介质
CN111638923A (zh) * 2020-06-04 2020-09-08 北京思特奇信息技术股份有限公司 一种基于Java注解进行数据路由的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806813A (zh) * 2021-08-27 2021-12-17 上海得帆信息技术有限公司 一种多数据源的数据隔离切换方法和系统

Similar Documents

Publication Publication Date Title
CN109840429B (zh) 智能合约部署、调用方法和装置
CN103226478B (zh) 一种自动生成并使用代码的方法
CN105740411B (zh) 一种基于SOA和WebService的数据迁移方法
CN109933571B (zh) 数据库设计文档生成方法、装置及计算机可读存储介质
CN111061475B (zh) 软件代码生成方法、装置、计算机设备和存储介质
US20120158795A1 (en) Entity triggers for materialized view maintenance
CN109933416B (zh) 一种应用数据的迁移方法、装置及存储介质
CN112380180A (zh) 数据同步处理方法、装置、设备及存储介质
US20070038995A1 (en) System and method for navigating beans using filters and container managed relationships
EP1815349A2 (en) Methods and systems for semantic identification in data systems
CN113326264A (zh) 数据处理方法、服务器及存储介质
CN105447051A (zh) 一种数据库操作的方法和装置
US11360993B1 (en) Automatic generation of specifications for data access layer application programming interfaces
CN109389299A (zh) 工作流流程部署方法、装置、计算机设备和存储介质
CN111538573A (zh) 异步任务处理方法、装置及计算机可读存储介质
US8103701B2 (en) Metadata to technical design review document process
CN110750553A (zh) 一种在业务管理系统中对数据进行自定义导出的方法
CN112596785A (zh) 一种基于注解的多数据源管理方法
CN112613964A (zh) 一种对账方法、装置、设备及存储介质
CN115543198A (zh) 非结构化数据入湖方法、装置、电子设备及存储介质
CN109558121A (zh) 接口驱动程序的开发方法、装置、设备及存储介质
CN105573763A (zh) 一种支持rtos的嵌入式系统建模方法
CN109582318B (zh) Portobuf本地化的处理方法、装置、终端及存储介质
CN115390936A (zh) 统一校验方法、装置、设备和存储介质
CN115617773A (zh) 数据迁移的方法、装置和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination