一种用于持久层框架的数据源管理方法及装置与流程

文档序号:12177188阅读:210来源:国知局
一种用于持久层框架的数据源管理方法及装置与流程

本发明实施例涉及计算机应用技术领域,尤其涉及一种用于持久层框架的数据源管理方法及装置。



背景技术:

目前,在对系统项目的数据库开发中,对数据访问的持久层框架的使用越来越多,常见的持久层框架如MyBatis,Hibernate等。MyBatis是一种支持普通SQL查询,存储过程和高级映射的优秀持久层框架,基于MyBatis框架进行开发的开发人员能够节省更多对数据库进行增、删、改、查的操作时间。

在基于MyBatis进行项目开发时,通常在项目对应的配置文件中存放所需的数据源信息,然后根据数据源信息引用相应的数据源,并基于该数据源进行操作。一般的,在MyBatis框架下通常存在多个项目对同一数据源进行操作的情况,此时需要将该数据源的数据源信息重复保存到不同项目的配置文件中,之后各项目再根据相应配置文件中的数据源信息引用数据源进行相关操作。

针对上述操作,当项目对应配置文件中的数据源信息发生改变时,该数据源信息对应的数据源也会发生变更,但只有重新启动项目后,项目才能引用变更后的数据源进行操作,无法保证变更后的数据源在项目中实时生效;同时,如果同一数据源信息保存在多个项目的配置文件中,则当数据源信息发生变化时,需要重新启动所有包含该数据源信息的项目,该过程很容易遗漏一些项目,出现数据源没有变更的情况,从而引发项目事故。



技术实现要素:

本发明实施例提供了一种用于持久层框架的数据源管理方法及装置,能够减少数据源变更引发的项目事故,并保证变更后的数据源在项目中实时生效。

一方面,本发明实施例提供了一种用于持久层框架的数据源管理方法,包括:

在启动持久层框架中的项目后,根据确定的目标数据源信息生成第一数据源;

将所述第一数据源存放至所述项目的设定操作表中,并根据接收到的操作指令基于所述第一数据源进行数据库操作;

当接收到所述目标数据源信息的更新声明时,获取更新后的新数据源信息并生成第二数据源;

将所述第二数据源存放至所述设定操作表中,并根据接收到的操作指令基于所述第二数据源进行数据库操作。

另一方面,本发明实施例提供了一种用于持久层框架的数据源管理装置,包括:

第一生成模块,用于在启动持久层框架中的项目后,根据确定的目标数据源信息生成第一数据源;

第一操作模块,用于将所述第一数据源存放至所述项目的设定操作表中,并根据接收到的操作指令基于所述第一数据源进行数据库操作;

第二生成模块,用于当接收到所述目标数据源信息的更新声明时,获取更新后的新数据源信息并生成第二数据源;

第二操作模块,用于将所述第二数据源存放至所述设定操作表中,并根据接收到的操作指令基于所述第二数据源进行数据库操作。

本发明实施例中提供的一种用于持久层框架的数据源管理方法及装置,首先在启动持久层框架中的项目后,根据确定的目标数据源信息生成第一数据源,并根据接收到的操作指令基于存放在设定操作表中的第一数据源进行数据库操作;然后在接收到所述目标数据源信息的更新声明时,获取更新后的新数据源信息并生成第二数据源,同时根据接收到的操作指令基于存放在设定操作表中的第二数据源进行数据库操作。利用该方法,能够在数据源信息变化时减少对应数据源变更在持久层框架中引发的项目事故,并保证变更后的数据源在项目中实时生效,从而提升了用户体验。

附图说明

图1为本发明实施例一提供的一种用于持久层框架的数据源管理方法的流程示意图;

图2为本发明实施例二提供的一种用于持久层框架的数据源管理方法的流程示意图;

图3为本发明实施例三提供的一种用于持久层框架的数据源管理装置的结构框图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种用于持久层框架的数据源管理方法的流程示意图,适用于数据源信息变化时对持久层框架中项目所需的数据源进行管理的情况,该方法可以由用于持久层框架的数据源管理装置执行,其中该装置可由软件和/或硬件实现,作为持久层框架的一部分集成在持久层框架所在的开发平台中。

如图1所示,本发明实施例一提供的一种用于持久层框架的数据源管理方法,包括如下操作:

S101、在启动持久层框架中的项目后,根据确定的目标数据源信息生成第一数据源。

在本实施例中,对于在持久层框架中开发的项目而言,在启动项目后,需要引用所需的数据源才能进行相关的操作,一般的,可以基于相应的数据源配置信息来生成相关的数据源。所述目标数据源信息具体可理解为用于生成项目所需数据源的数据源配置信息,其中,所述目标数据源信息具体可由技术人员基于相应的格式进行编辑获得,可以配置在与项目相对应的配置文件中,还可以配置在指定的文件中,以便于项目开发过程中调用。

本实施例将所述目标数据源信息优选地存放于指定的文件中,在启动持久层框架层中的项目后,可以从指定的文件中确定项目所需数据源的数据源配置信息作为目标数据源信息,并基于所述目标数据源信息生成项目所需的数据源,本实施例记该数据源为第一数据源。

S102、将所述第一数据源存放至所述项目的设定操作表中,并根据接收到的操作指令基于所述第一数据源进行数据库操作。

在本实施例中,基于步骤S101生成的第一数据源具体存放于所述项目对应的设定操作表中,在接收到用户的操作指令时便基于所述第一数据源进行项目相关的数据库操作。

进一步的,所述数据库操作包括:数据的更新操作和查询操作;所述更新操作包括:增加操作、删除操作和/或修改操作。

在本实施例中,基于持久层框架的工作特性,可以在持久层框架中对项目所需数据源进行数据库操作,所述数据库操作包括数据的更新操作和查询操作,即,可以对数据源中的数据进行增加、删除、修改以及查询的操作。

S103、当接收到所述目标数据源信息的更新声明时,获取更新后的新数据源信息并生成第二数据源。

一般的,与项目对应的目标数据源信息有可能存在变化,当所述目标数据源信息发生变化时,基于目标数据源信息生成的数据源也会发生变更。

在本实施例中,所述目标数据源信息优选地存储在指定的文件中,所述目标数据源信息发生变化,相当于存储在指定的文件下与项目对应的数据源配置信息发生了变化,此时可将发生变化后的目标数据源信息称为新数据源信息,同时持久层框架中的项目可以接收到所述目标数据源信息的更新声明。

在本实施例中,当持久层框架中的项目接收到相应目标数据源信息的更新声明时,可以从指定的文件中获取所述目标数据源信息更新后形成的新数据源信息,之后,可以基于所述新数据源信息生成相应的第二数据源。

S104、将所述第二数据源存放至所述设定操作表中,并根据接收到的操作指令基于所述第二数据源进行数据库操作。

在本实施例中,将基于步骤S103生成的第二数据源也相应的存储在设定操作表中,并在第二数据源存储到设定操作表之后,当接收到用户的操作指令时,可以基于所述第二数据源进行数据库操作。

在本实施例中,该设定操作表中不仅存储了第一数据源,还存储了第二数据源。需要说明的是,在基于新数据源信息生成第二数据源的过程中,且在将所述第二数据源存放至所述设定操作表中之前,如果接收到用户发送的操作指令,则仍需要基于第一数据源进行操作,只有当第二数据源存储至设定操作表之后,才能根据接收的操作指令基于第二数据源进行数据库操作。

此外,需要注意的是,在第二数据源存储至设定操作表之后,如果存在正在使用第一数据源进行操作的服务进程,则仍基于第一数据源进行操作直至操作完成。

本发明实施例一提供的一种用于持久层框架的数据源管理方法,首先在启动持久层框架中的项目后,根据确定的目标数据源信息生成第一数据源,并根据接收到的操作指令基于存放在设定操作表中的第一数据源进行数据库操作;然后在接收到所述目标数据源信息的更新声明时,获取更新后的新数据源信息并生成第二数据源,同时根据接收到的操作指令基于存放在设定操作表中的第二数据源进行数据库操作。利用该方法,能够在数据源信息变化时减少对应数据源变更在持久层框架中引发的项目事故,并保证变更后的数据源在项目中实时生效,从而提升了用户体验。

实施例二

图2为本发明实施例二提供的一种用于持久层框架的数据源管理方法的流程示意图。本发明实施例二上述实施例为基础进行优化,在本实施例中,还包括:获取用户配置的数据源信息,并存放至设定的信息配置文件中;在所述信息配置文件中确定所述持久层框架中项目所需的目标数据源信息。

进一步的,还包括:当所述信息配置文件中的目标数据源信息发生变化时,向所述项目发送所述目标数据源信息的更新声明。

如图2所示,本发明实施例二提供的一种用于持久层框架的数据源管理方法,具体包括如下操作:

S201、获取用户配置的数据源配置信息,并存放至设定的信息配置文件中。

在本实施例中,可以对持久层框架中各项目所需的数据源信息进行统一管理,即,不再将项目所需的数据源配置信息分别存放至与项目对应的配置文件下,而是获取用户配置的所有数据源配置信息,并将所有的数据源配置信息统一存放到设定的信息配置文件中,由此降低了数据源信息的管理成本,可以理解的是,持久层框架中的项目启动后,可以直接从所述信息配置文件中获取所需的数据源配置信息(目标数据源信息)。

S202、在所述信息配置文件中确定所述持久层框架中项目所需的目标数据源信息。

在本实施例中,基于步骤S201将所获取的数据源配置信息存放至信息配置文件后,可以在信息配置文件中确定持久层框架中项目所需的目标数据源信息。可以理解的是,所述信息配置文件中的同一数据源配置信息可以被持久层框架中的多个项目确定为对应的目标数据源信息。与现有的方法相比,无需将数据源配置信息分别放置在项目对应的配置文件中,实现了数据源信息的统一管理和分配。

S203、在启动持久层框架中的项目后,根据确定的目标数据源信息生成第一数据源。

示例性的,在项目启动后,可以根据步骤S202中确定的目标数据源生成第一数据源。

S204、将所述第一数据源存放至所述项目的设定操作表中,并根据接收到的操作指令基于所述第一数据源进行数据库操作。

S205、当所述信息配置文件中的目标数据源信息发生变化时,向所述项目发送所述目标数据源信息的更新声明。

在本实施例中,用户可以对存储在信息配置文件中的数据源配置信息进行编辑修改,如果对所述信息配置文件中的目标数据源信息进行了修改,相当于目标数据源信息发生了变化,此时需要向所述项目发送所述目标数据源信息的更新声明。需要注意的是,此时可以仅向持久层框架中启动运行的项目发送变更声明。

S206、当接收到所述目标数据源信息的更新声明时,获取更新后的新数据源信息并生成第二数据源。

示例性的,持久层框架中的项目可以接收到目标数据源信息的变更声明,同时还可以获取信息配置文件中目标数据源信息变化后形成的新数据源信息,并根据新数据源信息生成第二数据源。

S207、将所述第二数据源存放至所述设定操作表中,并根据接收到的操作指令基于所述第二数据源进行数据库操作。

示例性的,在接收到用户发送的操作指令时,可以根据生成的第二数据源进行数据库操作。

在本实施例中,对存放于设定数据表中数据源(第一数据源或第二数据源)的数据库操作主要基于所接收的操作指令进行,所述操作指令主基于由用户编辑的代码生成,具体的,本实施例可以对所述操作指令的代码进行分析,以确定所述操作指令表示的具体要求,当确定所述操作指令的具体要求为更新操作时,可以将生成的数据源(第一数据源或第二数据源)调度到设定的数据更新库中,以便于更好地数据进行更新操作;当确定所述操作指令的具体要求为查询操作时,可以将生成的数据源(第一数据源或第二数据源)调度到设定的数据查询库中,以便于更好的对所述数据源进行查询操作。

此外,需要说明的是,在将所述第二数据源存放至设定操作表中,基于第二数据源进行数据库操作之后,可以将设定操作表中存放的第一数据源进行丢弃,以节省设定操作表的存储空间。

本发明实施例二提供的一种用于持久层框架,不仅能够在数据源信息变化时减少对应数据源变更在持久层框架中引发的项目事故,保证变更后的数据源在项目中实时生效;还能够实现对持久层框架中项目所需数据源的数据源信息的统一管理,降低了信息管理成本,有效提升了用户体验。

实施例三

图3为本发明实施例三提供的一种用于持久层框架的数据源管理装置的结构框图。适用于数据源信息变化时对持久层框架中项目所需的数据源进行管理的情况,其中该装置可由软件和/或硬件实现,作为持久层框架的一部分集成在持久层框架所在的开发平台中。如图3所示,该装置包括:数据源生成模块31、数据源操作模块32。

其中,数据源生成模块31,用于在启动持久层框架中的项目后,根据确定的目标数据源信息生成第一数据源;或者,用于当接收到所述目标数据源信息的更新声明时,获取更新后的新数据源信息并生成第二数据源。

数据源操作模块32,用于将所述第一数据源存放至所述项目的设定操作表中,并根据接收到的操作指令基于所述第一数据源进行数据库操作;或者,将所述第二数据源存放至所述设定操作表中,并根据接收到的操作指令基于所述第二数据源进行数据库操作。

在本实施例中,该装置首先通过数据源生成模块31在启动持久层框架中的项目后,根据确定的目标数据源信息生成第一数据源;然后通过数据源操作模块32将所述第一数据源存放至所述项目的设定操作表中,并根据接收到的操作指令基于所述第一数据源进行数据库操作;之后,通过数据源生成模块31当接收到所述目标数据源信息的更新声明时,获取更新后的新数据源信息并生成第二数据源;最终通过数据源操作模块32将所述第二数据源存放至所述设定操作表中,并根据接收到的操作指令基于所述第二数据源进行数据库操作。

本发明实施例三提供的一种用于持久层框架的数据源管理装置,能够在数据源信息变化时减少对应数据源变更在持久层框架中引发的项目事故,保证变更后的数据源在项目中实时生效,有效提升了用户体验。

进一步的,该装置还包括:

信息存储模块33,用于获取用户配置的数据源配置信息,并存放至设定的信息配置文件中;

信息确定模块34,用于在所述信息配置文件中确定所述持久层框架中项目所需的目标数据源信息。

进一步的,该装置还包括:

声明发送模块35,用于当所述信息配置文件中的目标数据源信息发生变化时,向所述项目发送所述目标数据源信息的更新声明。

进一步的,所述数据库操作包括:数据的更新操作和查询操作;所述更新操作包括:增加操作、删除操作和/或修改操作。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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