一:连接池的定义
本质上就是个容器(集合) 存放数据库连接的容器,当系统初始化后,容器被创建,容器中就会申请一些连接对象,当用户来访问数据库的时候,从容器中取连接对象,用户用完之后,归还。
二:常用的连接池的连接方法
1、C3p0连接方式:
步骤:
1 导包 两个包 c3p0-0.9.5.2.jar mchange-commons-java-0.2.12
2 定义配置文件 名称 c3p0.properties c3p0-config.xml
路径:将文件放到src目录下
3 创建核心对象 数据库连接池对象ComboPoolDataSource
4 获取链接 getConnection
代码如下:
1 packagecom.aaa.collection;2
3 importcom.mchange.v2.c3p0.ComboPooledDataSource;4
5 importjavax.sql.DataSource;6 importjava.sql.Connection;7 importjava.sql.SQLException;8
9 public classC3p0Collection {10 public static void main(String[] args) throwsSQLException {11 //获得DataSource
12 DataSource dataSource=newComboPooledDataSource();13 //获得连接
14 for (int i=1;i<=11;i++){15 Connection conn=dataSource.getConnection();16 System.out.println(i+" "+conn);17 if(i==5){18 conn.close();//归还连接池
19 }20 }21 }22 }
2、Druid 阿里提供
步骤:
1 导包 durid1.0.9 jar包
2 定义配置文件 properties文件
名字任意位置也任意 加载文件
3 获得数据库连接池对象 通过DuridDataSourceFactory获得
4 获取链接
代码如下:
1 packagecom.aaa.collection;2
3 importcom.aaa.Zuoye2.Durid;4 importcom.alibaba.druid.pool.DruidDataSourceFactory;5
6 importjavax.sql.DataSource;7 importjava.io.IOException;8 importjava.io.InputStream;9 importjava.sql.Connection;10 importjava.util.Properties;11
12 public classDuridCollection {13 public static void main(String[] args) throwsException {14 /**
15 * 阿里的Durid连接池连接方式16 **/
17 //步骤:18 //1 导包 durid1.0.9 jar包19 //2 定义配置文件 properties文件20 //名字任意位置也任意 加载文件
21 Properties ps=newProperties();22 InputStream in = Durid.class.getClassLoader().getResourceAsStream("durid.properties");23 ps.load(in);24 //3 获得数据库连接池对象 通过DuridDataSourceFactory获得
25 DataSource ds =DruidDataSourceFactory.createDataSource(ps);26 //4 获取链接
27 Connection conn =ds.getConnection();28 //5打印输出测试是否连接成功
29 System.out.println(conn);30 }31
32 }