一种多数据库切换方法及装置与流程

文档序号:11950520阅读:196来源:国知局
一种多数据库切换方法及装置与流程

技术领域

本发明涉及一种数据库切换方法及装置,属于数据库领域,具体是涉及一种多数据库切换方法及装置。



背景技术:

随着互联网的发展,业务的复杂程度逐渐增加,以往单种数据库已经无法满足业务需求,现有的应用中,需要在一个项目中同时使用多种数据库系统。然而现有的 php框架大都是针对单种数据库系统做配置,在连接时,需要频繁配置数据库连接参数,操作繁琐、复杂,难以满足多数据库的连接需求。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种多数据库切换方法及装置,其目的在于解决多数据库连接时,需要频繁配置数据库连接参数,操作繁琐、复杂,难以满足多数据库的连接需求的问题。

为了解决上述问题,根据本发明的一个方面,提供了一种多数据库切换方法,包括:

步骤1,定义用于描述数据库连接参数的数据库配置模板;

步骤2,定义并初始化数据库连接对象,所述数据库连接对象接收其它程序传递的数据库标识,并根据在数据库配置模板中查找到的与数据库标识相对应的数据库连接参数连接数据库,并返回数据连接对象;

步骤3,调用数据库连接对象,并向数据库连接对象传递数据库标识,接收数据库连接对象的返回结果。

优选的,上述的一种多数据库切换方法,所述步骤1中,由初始化程序将定义好的数据库配置模板读入计算机内存中。

优选的,上述的一种多数据库切换方法,所述步骤3中,若数据库连接对象在数据库配置模板中未查找到与数据库标识相对应的数据库连接参数,则向用户返回错误提示;否则,用查找到的数据库连接参数连接数据库,并返回数据连接对象。

优选的,上述的一种多数据库切换方法,所述步骤3中,若数据库连接对象用查找到的数据库连接参数连接数据库失败,则返回错误提示;否则,利用返回的数据连接对象读取数据。

为了解决上述问题,根据本发明的另一个方面,提供了一种多数据库切换装置,包括:

模板配置模块,定义用于描述数据库连接参数的数据库配置模板;

代理生成模块,定义并初始化数据库连接对象,所述数据库连接对象接收其它程序传递的数据库标识,并根据在数据库配置模板中查找到的与数据库标识相对应的数据库连接参数连接数据库,并返回数据连接对象;

连接调用模块,调用数据库连接对象,并向数据库连接对象传递数据库标识,接收数据库连接对象的返回结果。

优化的,上述的一种多数据库切换装置,所述模板配置模块中,由初始化程序将定义好的数据库配置模板读入计算机内存中。

优化的,上述的一种多数据库切换装置,所述连接调用模块中,若数据库连接对象在数据库配置模板中未查找到与数据库标识相对应的数据库连接参数,则向用户返回错误提示;否则,用查找到的数据库连接参数连接数据库,并返回数据连接对象。

优化的,上述的一种多数据库切换装置,所述连接调用模块中,若数据库连接对象用查找到的数据库连接参数连接数据库失败,则返回错误提示;否则,利用返回的数据连接对象读取数据。

总体而言,本发明所构思的以上技术方案与现有技术相比, 本发明利用数据库连接工厂类建立并返回数据库连接,简化了操作,提高了数据库连接效率。

附图说明

附图1是本发明的流程示意图。

附图2是本发明的结构示意图。

具体实施方式

下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。

一种多数据库切换方法,包括:

步骤1,定义用于描述数据库连接参数的数据库配置模板;

步骤2,定义并初始化数据库连接对象,所述数据库连接对象接收其它程序传递的数据库标识,并根据在数据库配置模板中查找到的与数据库标识相对应的数据库连接参数连接数据库,并返回数据连接对象;

步骤3,调用数据库连接对象,并向数据库连接对象传递数据库标识,接收数据库连接对象的返回结果。

其中:步骤1中,由初始化程序将定义好的数据库配置模板读入计算机内存中。步骤3中,若数据库连接对象在数据库配置模板中未查找到与数据库标识相对应的数据库连接参数,则向用户返回错误提示;否则,用查找到的数据库连接参数连接数据库,若数据库连接对象用查找到的数据库连接参数连接数据库失败,则返回错误提示;否则,利用返回的数据连接对象读取数据

一种多数据库切换装置,包括:

模板配置模块,定义用于描述数据库连接参数的数据库配置模板;

代理生成模块,定义并初始化数据库连接对象,所述数据库连接对象接收其它程序传递的数据库标识,并根据在数据库配置模板中查找到的与数据库标识相对应的数据库连接参数连接数据库,并返回数据连接对象;

连接调用模块,调用数据库连接对象,并向数据库连接对象传递数据库标识,接收数据库连接对象的返回结果。

其中,模板配置模块中,由初始化程序将定义好的数据库配置模板读入计算机内存中。连接调用模块中,若数据库连接对象在数据库配置模板中未查找到与数据库标识相对应的数据库连接参数,则向用户返回错误提示;否则,用查找到的数据库连接参数连接数据库,若数据库连接对象用查找到的数据库连接参数连接数据库失败,则返回错误提示;否则,利用返回的数据连接对象读取数据。

实施例1

本发明的操作流程如图1所示。

首先定义多数据库配置的格式如下,该配置随程序启动读入内存:

'db' => [

// mysql 的配置

'mysql' => [

'dsn' => '',

'username' => '',

'password' => '',

'charset' => 'utf8',

],

// 其它数据库的配置

'otherdb' => [

'dsn' => '',

'username' => '',

'password' => '',

'charset' => 'utf8',

]

]

然后定义数据库连接工厂类DbFactory,该类用于计算具体要使用的数据库,并返回连接的数据库的句柄,以便操作数据库。该类有一个唯一入口方法,定义为 instance,instance 方法可以接收一个参数,该参数用于指定我们需要使用的数据库,与第一步中的配置相对应。方法会根据指定的参数读取配置,如果读取到则用读取到的配置连接数据库,如果读取失败,则抛出错误提示。在连接数据库过程中如果有错误,抛出错误,如果成功,返回数据库连接标识。

当需要使用某数据库读取信息时,可以使用第二步中的 DbFactory 来连接数据库: DbFactory::instance('数据库标识')。

例如需要读取用户信息,可使用如下使用代码:

$db = DbFactory::instance('mysql');

$db->query('select username from users');

以上方法实施例和装置实施例是一一对应的,因此方法实施例的扩展方式亦可用于装置实施例。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1