一:连接池的定义
本质上就是个容器(集合) 存放数据库连接的容器,当系统初始化后,容器被创建,容器中就会申请一些连接对象,当用户来访问数据库的时候,从容器中取连接对象,用户用完之后,归还。
二:常用的连接池的连接方法
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 package com.aaa.collection; 2 3 import com.mchange.v2.c3p0.ComboPooledDataSource; 4 5 import javax.sql.DataSource; 6 import java.sql.Connection; 7 import java.sql.SQLException; 8 9 public class C3p0Collection { 10 public static void main(String[] args) throws SQLException { 11 //获得DataSource 12 DataSource dataSource=new ComboPooledDataSource(); 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 package com.aaa.collection; 2 3 import com.aaa.Zuoye2.Durid; 4 import com.alibaba.druid.pool.DruidDataSourceFactory; 5 6 import javax.sql.DataSource; 7 import java.io.IOException; 8 import java.io.InputStream; 9 import java.sql.Connection; 10 import java.util.Properties; 11 12 public class DuridCollection { 13 public static void main(String[] args) throws Exception { 14 /** 15 * 阿里的Durid连接池连接方式 16 * */ 17 // 步骤: 18 // 1 导包 durid1.0.9 jar包 19 // 2 定义配置文件 properties文件 20 // 名字任意位置也任意 加载文件 21 Properties ps=new Properties(); 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 }