我在iteye上搜到两种dbcp用在jdbc+mysql上的实例:
http://www.iteye.com/topic/117225
和
http://skewen.iteye.com/blog/684644
请问这两种用法那种是实用中的,以及原因?
另外,关于实用中dbcp上crud操作的正确写法,还有没有更详细完整的实例讲解了?
谢谢!
DBCP只是一个连接池实现 我们面向DataSource编程,因此CRUD还是通过Connection进行
JDBC1.0原来是用DriverManager类来产生一个对数据源的连接。JDBC2.0用一种替代的方法,使用DataSource的实现
DataSource封装了数据源的信息和如何来定位数据源,例如数据库服务器的名字,在哪台机器上,端口号等等,所以如果数据源要移植到另一个数据库驱动中,只需更改DataSource的相关的属性。而使用DataSource对象的代码不需要做任何改动
感觉用了dbcp好处是便于更轻松解除依赖,而不是通过硬编码来实现,把相关配置放到xml/properties文件中就可以了
DriverManager和DataSource只是获得数据源的方式,其他curd操作还是一样的
DBCP只是做连接数据库,对数据进行参数配置,如数据库连接基本信息,连接池等,数据库的DDL和DML都是通过连接数据库后DB进行操作的,dbcp只是辅助你做数据库连接性能的优化。