What is the difference between Spring DriverManagerDataSource and apache BasicDataSource? Which of them is preferable and in which situations?
Thank you.
What is the difference between Spring DriverManagerDataSource and apache BasicDataSource? Which of them is preferable and in which situations?
Thank you.
这个类不是一个实际的连接池;它实际上并不池连接。它只是作为成熟连接池的简单替代品,实现相同的标准接口,但在每次调用时创建新的连接。
如果您需要 J2EE 容器之外的“真实”连接池,请考虑 Apache 的 Jakarta Commons DBCP 或 C3P0。Commons DBCP 的 BasicDataSource 和 C3P0 的 ComboPooledDataSource 是全连接池 bean,支持与此类相同的基本属性以及特定设置(例如最小/最大池大小等)。
另请阅读控制数据库连接
使用 Spring 的 JDBC 层时,您可以从 JNDI 获取数据源,或者使用第三方提供的连接池实现来配置自己的数据源。流行的实现是 Apache Jakarta Commons DBCP 和 C3P0。Spring 发行版中的实现仅用于测试目的,不提供池。
来自 Spring DriverManagerDataSource API:
这个类不是一个实际的连接池;它实际上并不池连接。它只是作为成熟连接池的简单替代品,实现相同的标准接口,但在每次调用时创建新的连接。
换句话说,测试可能没问题,但在实际应用程序中使用 Apache DBCP