连接池:
(1)传统JDBC:
①Class.forName() //加载驱动
②Connection conn = DriverManager.getConnection(uri,user,pwd); //此方法的连接指向数据库
③PreparedStatement pstmt = conn.preparedStatement(); //执行增删查改
(2) 使用连接池的核心(从使用层面上来说):将连接的指向由数据库改为指向数据源(DataSource)
①DataSource ds = ......; //想方设法拿到数据源ds 但方法不唯一
②Connection conn = ds.getConnection(); //此方法的连接指向数据源
③PreparedStatement pstmt = conn.preparedStatement(); //执行增删查改
DBCP数据库连接池主要依靠:
中 commons-dbcp-1.4.jar包
提供的2个类:BasicDataSource 和 BasicDataSourceFactory 中 二选其一 来拿到 数据源 ds
①BasicDataSource(硬编码方式):
核心方法:
DBCP方式获取数据源的步骤:
②BasicDataSourceFactory(采用配置方式: .properties文件):
创建配置文件步骤: 项目下src → New → File →dbcpconfig.properties
注意:配置文件的书写方式都是key-value方式
C3P0数据库连接池主要依靠:
:
提供的一个核心类:ComboPooledDataSource
C3P0将DBCP中的硬编码和配置文件方式 合二为一
并通过ComboPooledDataSource的构造方法有无参数来区分:
无参:硬编码
有残参:配置文件(官方默认命名为:c3p0-config.xml)
硬编码方式:
配置文件方式:
ComboPooledDataSource pool = new ComboPooledDataSource();//空参,则自动到classpath目录下面加载“c3p0-config.xml”配置文件。
ComboPooledDataSource pool = new ComboPooledDataSource("demo");//加载“c3p0-config.xml”文件中定义的“demo”这个配置元素。