文档主页
MySQL Connector/J 开发人员指南
相关文档 下载本手册
PDF (US Ltr) - 1.2Mb
PDF (A4) - 1.2Mb


15.3 使用 Spring 进行连接池

在许多情况下,例如 Web 应用程序,会有大量的数据库小规模事务。在这种情况下,通常创建一个可供 Web 请求按需使用的数据库连接池是有意义的。尽管 MySQL 在建立连接时不会生成额外的进程,但创建和设置连接仍然需要少量开销。连接池还可以缓解一些问题,例如在 TIME_WAIT 状态下收集大量套接字。

使用 Spring 设置 MySQL 连接池就像更改应用程序上下文中的数据源配置一样简单。我们可以使用多种配置。第一个示例基于 Jakarta Commons DBCP 库。下面的示例使用 DBCP 的 BasicDataSource 替换了基于 DriverManagerDataSource 的源配置。

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

两种解决方案的配置非常相似。区别在于 DBCP 会将连接池化到数据库,而不是在每次请求连接时都创建一个新连接。我们在这里还设置了一个名为 initialSize 的参数。这告诉 DBCP 我们希望在创建连接池时在池中建立三个连接。