0

如何在 Spring-Server.xml 中配置 DataSource 标签?我一直在尝试配置它,但实际上我没有找到任何有用的参考:我是这样写的:

 <data-source class="org.apache.james.util.dbcp.JdbcDataSource" name="JamesDS">
 <driver>oracle.jdbc.driver.OracleDriver</driver>
 <dburl>jdbc:oracle:thin:@localhost:1522:test</dburl>
 <user>James</user>
 <password>123456</password>
 </data-source>
4

1 回答 1

0

您应该配置dataSource为 bean,您在里面编写的每一行都应该定义为property. 一个例子:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/myschema" />
    <property name="username" value="root" />
    <property name="password" value="password" />
</bean>

从示例中可以看出,您可以使用不同的驱动程序 - 取决于您要连接的数据库。

另一个例子:

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

重要提示
来自SpringDriverManagerDataSource文档:

这个类不是一个实际的连接池;它实际上并不池连接。它只是作为成熟连接池的简单替代品,实现相同的标准接口,但在每次调用时创建新的连接。

如果您需要 J2EE 容器之外的“真实”连接池,请考虑 Apache 的 Jakarta Commons DBCP 或 C3P0。Commons DBCP 的 BasicDataSource 和 C3P0 的 ComboPooledDataSource 是全连接池 bean,支持与此类相同的基本属性以及特定设置(例如最小/最大池大小等)。

我建议阅读以下对 JDBC 的良好介绍

于 2013-08-21T15:55:20.887 回答