CN112596785A - 一种基于注解的多数据源管理方法 - Google Patents
一种基于注解的多数据源管理方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-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中,所述连接池为第三方或者自定义数据连接池。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806813A (zh) * | 2021-08-27 | 2021-12-17 | 上海得帆信息技术有限公司 | 一种多数据源的数据隔离切换方法和系统 |
Citations (5)
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 | 北京京东尚科信息技术有限公司 | 数据库管理方法、电子设备与计算机可读存储介质 |
-
2021
- 2021-01-14 CN CN202110047556.6A patent/CN112596785A/zh active Pending
Patent Citations (5)
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)
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) | 软件代码生成方法、装置、计算机设备和存储介质 | |
CN109933416B (zh) | 一种应用数据的迁移方法、装置及存储介质 | |
US20120158795A1 (en) | Entity triggers for materialized view maintenance | |
CN112380180A (zh) | 数据同步处理方法、装置、设备及存储介质 | |
US20070038995A1 (en) | System and method for navigating beans using filters and container managed relationships | |
CN112711581A (zh) | 医疗数据校验方法、装置、电子设备及存储介质 | |
CN113326264A (zh) | 数据处理方法、服务器及存储介质 | |
CN105447051A (zh) | 一种数据库操作的方法和装置 | |
US11360993B1 (en) | Automatic generation of specifications for data access layer application programming interfaces | |
CN109389299A (zh) | 工作流流程部署方法、装置、计算机设备和存储介质 | |
US8103701B2 (en) | Metadata to technical design review document process | |
CN110750553A (zh) | 一种在业务管理系统中对数据进行自定义导出的方法 | |
CN112596785A (zh) | 一种基于注解的多数据源管理方法 | |
CN115543198A (zh) | 非结构化数据入湖方法、装置、电子设备及存储介质 | |
CN109558121A (zh) | 接口驱动程序的开发方法、装置、设备及存储介质 | |
CN113987337A (zh) | 基于组件化动态编排的搜索方法、系统、设备及存储介质 | |
CN113761040A (zh) | 数据库与应用程序双向映射方法、设备、介质及程序产品 | |
CN109582318B (zh) | Portobuf本地化的处理方法、装置、终端及存储介质 | |
CN115390936A (zh) | 统一校验方法、装置、设备和存储介质 | |
CN111427902B (zh) | 基于轻量型数据库的元数据管理方法、装置、设备及介质 | |
CN103135972A (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 |