zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    #include <utility>
    Html的空格显示
    ExtJs自学教程(1):一切从API開始
    天黑的时候,我又想起那首歌
    citrix协议ICA技术原理
    约瑟夫环问题
    数据结构和算法设计专题之---八大内部排序
    HDU
    深入分析C++引用
    八大排序算法总结
  • 原文地址:https://www.cnblogs.com/yanpingping/p/10652005.html
Copyright © 2011-2022 走看看