Spring DriverManagerDataSource和apache BasicDataSource有什么区别? 哪种情况更可取?在哪种情况下?
谢谢。
答案 0 :(得分:18)
此类不是实际的连接池;它实际上并没有池连接。它只是简单替代完整的连接池,实现相同的标准接口,但每次调用都会创建新的连接。
如果您需要J2EE容器之外的“真实”连接池,请考虑Apache的Jakarta Commons DBCP或C3P0。 Commons DBCP的BasicDataSource和C3P0的ComboPooledDataSource是完整的连接池bean,支持与此类相同的基本属性以及特定设置(例如最小/最大池大小等)。
另请阅读Controlling database connections
使用Spring的JDBC层时,您可以从JNDI获取数据源,或者使用第三方提供的连接池实现来配置自己的数据源。流行的实现是Apache Jakarta Commons DBCP和C3P0。 Spring发行版中的实现仅用于测试目的,不提供合并。
答案 1 :(得分:3)
来自Spring DriverManagerDataSource API:
此类不是实际的连接池;实际上并没有 池连接。它只是简单的替代全面发展 连接池,实现相同的标准接口,但创建新的 每次通话都有连接。
换句话说,它可能适用于测试,但在实际应用中使用Apache DBCP