当前位置: 首页 > 面试题库 >

如何在Spring中使用一个DataSource以编程方式更改数据库?

丌官寒
2023-03-14
问题内容

我想看看在Spring中使用一个DataSources但能够从Java代码中切换数据库的最佳方法是什么?以下是我的两个数据源,它们分别位于相同的数据库服务器但位于不同的数据库中。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
      destroy-method="close">
    <property name="driverClassName" value="com.sybase.jdbc3.jdbc.SybDataSource" />
    <property name="url"
              value="jdbc:sybase:Tds:10.20.30.40:50/DATABASE_EMS" />
    <property name="username" value="userid" />
    <property name="password" value="derp" />
</bean>

<bean id="dataSourceMain" class="org.apache.commons.dbcp.BasicDataSource"
      destroy-method="close">
    <property name="driverClassName" value="com.sybase.jdbc3.jdbc.SybDataSource" />
    <property name="url"
              value="jdbc:sybase:Tds:10.20.30.40:50/DATABASE" />
    <property name="username" value="userid" />
    <property name="password" value="derp" />
</bean>

我将它们绑定到各自的bean,但是我正在查看我的旧代码,用2个单独的bean来实现它非常尴尬。是否在需要时如何使用一个数据源和切换数据库方面有什么想法/想法?


问题答案:

您可以通过扩展Sp​​ring
AbstractRoutingDataSource并在其中包装现有数据源来实现。查看本文以了解详细信息。从文章引用:

一般的想法是,路由数据源充当中介,而“真实的”数据源可以在运行时根据查找关键字动态确定。



 类似资料:
  • 问题内容: 使用Spring Boot我可以用以下方法实例化一个: 码: 特性: 这将创建一个数据源类: 如何以编程方式设置DataSource用户名/密码? 我们有一项政策,不要以纯文本形式存储凭据,我必须在工作的地方使用特定的凭据提供程序。 问题答案: 您可以使用,如果你使用的是首发。另外,为了覆盖默认的自动配置Bean,您需要将Bean标记为 就我而言,我具有以prefix 开头的属性。 例

  • 代码: 属性: 这将创建一个类为的数据源

  • 问题内容: 我有一个奇怪的问题。我试图以编程方式将dataSource分配给表。 我已使用界面生成器在ViewController中为其创建了一个和IBOutlet。我创建了一个实现的类。我将表的设置为dataSource的实例。一切都会编译并正常运行,直到设置dataSource的行在运行时执行。 错误是并且定义线突出显示。 有什么想法为什么我得到这个运行时错误?我正在Swift中使用XCode

  • 我做了一个均衡器来配合我的应用程序,但我不确定如何改变搜索栏的拇指和进度颜色。默认情况下,它似乎是粉红色的,这不符合我的应用程序的美学。

  • 问题内容: 如何在Mac OS X中以编程方式更改桌面背景?我想使用python,但是我对任何可能的方式都感兴趣。我可以连接终端并调用某个命令吗? 问题答案: 在python中,如果您已安装了appscript(),则只需 否则,此applescript将更改桌面背景 您可以从命令行使用或从Python运行,例如

  • 本文向大家介绍如何在iOS中以编程方式更改屏幕亮度?,包括了如何在iOS中以编程方式更改屏幕亮度?的使用技巧和注意事项,需要的朋友参考一下 要更改屏幕的亮度,我们必须使用屏幕的亮度属性。仅在主屏幕上支持此属性。此属性的值应为0.0到1.0之间的一个数字(含)。 应用程序所做的亮度更改将一直有效,直到锁定设备为止,无论应用程序是否关闭。下次打开显示器时,将恢复系统亮度(用户可以在“设置”或“控制中心