这段时间在做智能导航的管理系统——运维系统,涉及到连接多个数据库的问题。因为运维系统要用到智能导航的一些功能,我们目前只是简单的将智能导航整合到运维系统中;运维系统有一个自己的数据库,导航也有自己的数据库,当我们在运维系统中调用导航的一些方法时就可能涉及到访问导航数据库也就是spring配置多数据源的问题了。
Spring动态配置多数据源,即在大型应用中对数据进行切分,并且采用多个数据库实例进行管理,这样可以有效提高系统的水平伸缩性。而这样的方案就会不同于常见的单一数据实例的方案,这就要程序在运行时根据当时的请求及系统状态来动态的决定将数据存储在哪个数据库实例中,以及从哪个数据库提取数据。
Spring对于多数据源,从数据库表的角度来看,大体上可以分成两大类情况:一是,表级上的跨数据库。即,对于不同的数据库却有相同的表(表名和表结构完全相同)。二是,非表级上的跨数据库。即,多个数据源不存在相同的表。
spring管理配置多数据源难点在于**如何动态的切换数据源**。
例如在一个spring和hibernate的框架的项目中,我们在spring配置中往往是配置一个dataSource来连接数据库,然后绑定给sessionFactory,在dao层代码中再指定sessionFactory来进行数据库操作。
【Spring学习】spring动态配置多数据源
最新推荐文章于 2024-06-21 16:46:24 发布