JAVA数据库连接池C3p0 以及阿里Druid提供的连接池

一:连接池的定义

本质上就是个容器(集合) 存放数据库连接的容器,当系统初始化后,容器被创建,容器中就会申请一些连接对象,当用户来访问数据库的时候,从容器中取连接对象,用户用完之后,归还。

二:常用的连接池的连接方法

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 }

猜你喜欢

转载自www.cnblogs.com/yanpingping/p/10652005.html
今日推荐