2

我正在使用 Oracle 9 JDBC Thin Driver - 我用于标准 JDBC 的连接字符串是:

jdbcConn.connect("jdbc:oracle:thin:myDevDb/myDevDb@fooServer:1521:MYSIDNAME");

...只是试图让我在 Spring 2.5 中使用这种连接。

您如何将 Spring 连接到 Oracle 连接 - 认为它与 XML 配置文件有关,但不确定,似乎有几种方法可以做到这一点。

非常感谢任何帮助...

最新编辑

感谢那些迄今为止做出回应的人 - 但我需要一点“支持” - 在您在配置中的数据库连接字符串设置中配置的部分,您将这些信息放在哪里,以及如何放置?我有一个现有的 Java Web 应用程序 - 我正试图掌握如何将 Spring 'shoehorn' 插入我现有的应用程序中。

4

1 回答 1

8

有几种方法可以做到这一点,这取决于您的环境。如果您正在使用 Spring,那么您很有可能正在部署 Web 应用程序,或者您处于 J2EE 环境中。如果是这种情况(可以说即使不是),您可能想要配置一个数据源。

这是一个相当简单的解决方案:

  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
  </bean>

以上使用的是 Apache (Jakarta Commons) 数据库连接池,但您的应用服务器可能有一个您可能想要使用的替代方案。此外,不同的数据库供应商也有自己的数据源实现(例如 OracleDataSource 和 OracleXADataSource for Oracle)。

请注意 jdbc.username 等属性的使用。这是一种典型配置,因为数据库配置通常因环境而异。您可以使用以下内容激活属性配置器:

<bean id="jdbcConfiguration" class="org.springframework.beans.factory.config.PropertiesPlaceholderConfigurer">
  <property name="location" value="classpath:jdbc.properties"/>
</bean>

现在你可能也想要交易,我想。最简单的方法是使用平台事务管理器,但与大多数 Spring 一样,有多种方法可以做到这一点。

<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource" ref="dataSource"/>
</bean>

在此之后,您可以直接使用此 bean,或者(可以说更常见)您可以使用带有 AOP(注释)的声明性事务。

(极好的) Spring 参考文档中有关这些主题的更多信息。

于 2009-02-06T12:07:00.937 回答