当前位置: 首页 > 知识库问答 >
问题:

Java hibernate动态数据库选择[重复]

秦钟展
2023-03-14

我有一个带有spring 3和hibernate框架的标准web应用程序。我有两个应用程序上下文。xml和hibernate。cfg。包含数据库连接数据的xml文件:

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
        <property name="hibernate.cglib.use_reflection_optimizer">true</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.password">password</property>
        <property name="hibernate.connection.release_mode">after_transaction</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost/webapp</property>
        <property name="hibernate.connection.username">webapp</property>
        <property name="hibernate.current_session_context_class">thread</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.search.autoregister_listeners">false</property>
        <property name="hibernate.show_sql">false</property>
        <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
    </session-factory>
</hibernate-configuration>

...

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost/webapp" />
    <property name="username" value="webapp" />
    <property name="password" value="password" />
</bean>

现在,我需要使用动态数据库名称更改这个应用程序,如何在ServletContextListener中设置它的运行时。contextInitialized?

共有1个答案

王季萌
2023-03-14

XML文件存储用于构建上下文的配置。找到构建上下文的地方,并在那里应用您的逻辑进行动态数据库位置。没有魔法。

 类似资料:
  • 我在mysql数据库中有名为的表,其中存在类、学生姓名等。 我想在jsp中使用select选项,这样当且仅当首先选择class时,在选择class之后,该特定类的所有学生姓名都应该通过从数据库中检索记录自动(动态)显示在另一个select下拉列表中。 在这里我想使用servlet进行数据库连接,并通过通过jsp访问所有数据库记录

  • 我目前在一个论坛网站上工作,有一个向上投票系统。然而,有一些烦人的,可能是句法错误困扰着我。我说的是这段代码。 null 谢谢

  • 命令用于选择数据库,如果想在一个数据库上工作,比如:创建表,查询表,更新,创建存储过程等等,那么首先需要选择一个目标数据库。 示例 假设在MariaDB数据库服务器中,存在有多个数据库,我们必须选择一个特定的数据库。 例如,在下图中显示了多个数据库: 这里我们将使用数据库来创建表等。所以需要使用以下命令。 在执行上面查询语句后,就已经选择数据库。之后就可以在里面创建表等数据对象了。执行上面查询语句

  • 上一章节我们讲了如何创建数据库,接下来我们来讨论如何去选择我们创建的数据库。 数据库的命令窗口 PostgreSQL 命令窗口中,我们可以命令提示符后面输入 SQL 语句: 使用 \l 用于查看已经存在的数据库: 接下来我们可以使用 \c + 数据库名 来进入数据库: 系统命令行窗口 在系统的命令行查看,我么可以在连接数据库后面添加数据库名来选择数据库: pgAdmin 工具 pgAdmin 工具

  • 在MySQL 中就有很多系统自带的数据库,那么在操作数据库之前就必须要确定是哪一个数据库。 在 MySQL 中, USE 语句用来完成一个数据库到另一个数据库的跳转。 当用 CREATE DATABASE 语句创建数据库之后,该数据库不会自动成为当前数据库,需要用 USE 来指定当前数据库。其语法格式为: 该语句可以通知 MySQL 把 所指示的数据库作为当前数据库。该数据库保持为默认数据库,直到

  • 我有一个复选框,我想说这个复选框:如果(例如)“Einzelberatung Bu”被选中,并且你想选择另一个具有“Einzelberatung…”术语的字段,那么“Komplettes Finanzkonzept”字段应该自动被选中,其他两个字段都应该被取消选中。 正如您所看到的,我是一个绝对的JavaScript初学者。所以希望有人能帮我解决我贴在下面的代码,并告诉我我做错了什么。 谢谢你抽出