数据库连接池

送分小仙女□ 提交于 2019-11-26 20:58:08
## 数据库连接池
 1. 概念:其实就是一个容器(集合),存放数据库连接的容器。
      当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。
 2. 好处:
  1. 节约资源
  2. 用户访问高效
 3. 实现:
  1. 标准接口:DataSource   (javax.sql包下)
   1. 方法:
    * 获取连接:getConnection()
    * 归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会再关闭连接了。而是归还连接
  2. 一般我们不去实现它,由数据库厂商来实现
   1. C3P0:数据库连接池技术
   2. Druid:数据库连接池实现技术,由阿里巴巴提供的
4. C3P0:数据库连接池技术
  * 步骤:
   1. 导入jar包 (两个) c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar ,
    * 不要忘记导入数据库驱动jar包
   2. 定义配置文件:
    * 名称: c3p0.properties 或者 c3p0-config.xml
 1 package cn.ftt.datasource.c3p0;
 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 /**
10  * c3p0演示
11  */
12 public class C3P0Demo2 {
13 
14     public static void main(String[] args) throws SQLException {
15        /* //1. 获取DataSource,使用默认配置
16         DataSource ds  = new ComboPooledDataSource();
17 
18         //2.获取连接
19 
20         for (int i = 1; i <= 11 ; i++) {
21             Connection conn = ds.getConnection();
22             System.out.println(i+":"+conn);
23 
24             if(i == 5){
25                 conn.close();//归还连接到连接池中
26             }
27         }*/
28 
29         //testNamedConfig();
30 
31     }
32 
33 
34     public static void testNamedConfig() throws SQLException {
35         // 1.1 获取DataSource,使用指定名称配置
36         DataSource ds  = new ComboPooledDataSource("otherc3p0");
37         //2.获取连接
38         for (int i = 1; i <= 10 ; i++) {
39             Connection conn = ds.getConnection();
40             System.out.println(i+":"+conn);
41         }
42     }
43 
44 }

 


    * 路径:直接将文件放在src目录下即可。
   3. 创建核心对象 数据库连接池对象 ComboPooledDataSource
   4. 获取连接: getConnection
 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!