zoukankan      html  css  js  c++  java
  • C3P0 连接池

      1  导入C3P0    jar 包, (百度自查)
      2  
    
    
      5 XML配置:
      6 <?xml version="1.0" encoding="UTF-8"?>
      7  
      8 <c3p0-config>
      9  
     10 <named-config name="myc3p0xml">
     11  
     12 <property name="driverClass">com.mysql.jdbc.Driver</property>
     13  
     14 <property name="jdbcUrl">jdbc:mysql://localhost:3306/girlcloset</property>
     15  
     16 <property name="user">root</property>
     17  
     18 <property name="password">123456</property>
     19  
     20 <property name="maxPoolSize">20</property>
     21  
     22 <property name="initialPoolSize">10</property>
     23  
     24 </named-config>
     25  
     26 </c3p0-config>
     27  
     28 代码部分
     29 package com.project.c3p0demo32.tools;
     30  
     31 import java.beans.PropertyVetoException;
     32 import java.sql.Connection;
     33 import java.sql.SQLException;
     34  
     35 import com.mchange.v2.c3p0.ComboPooledDataSource;
     36  
     37 public class C3P0Util implements Runnable{
     38     //创建一个连接池对象(连接到上述的name = myc3p0xml 配置文件)
     39     private static ComboPooledDataSource pool = new ComboPooledDataSource("myc3p0xml");
     40     static{
     41       pool = new ComboPooledDataSource();
     42        try {
     43             //加载数据库驱动
     44             pool.setDriverClass("com.mysql.jdbc.Driver");
     45             //设置数据URL
     46             pool.setJdbcUrl("jdbc:mysql://localhost:3306/girlcloset");
     47             //设置用户名
     48             pool.setUser("root");
     49             //设置密码
     50            pool.setPassword("123456");
     51             //设置初始化连接数
     52             pool.setInitialPoolSize(10);
     53             //设置最大连接数
     54             pool.setMaxPoolSize(20);
     55         } catch (PropertyVetoException e) {
     56            e.printStackTrace();
     57         }
     58 }
     59     public static Connection getCon(){
     60         try {
     61             return pool.getConnection();
     62         } catch (SQLException e) {
     63             e.printStackTrace();
     64         }
     65         return null;
     66     }
     67     public static void closeCon(Connection con){
     68         try {
     69             con.close();
     70         } catch (SQLException e) {
     71             e.printStackTrace();
     72         }
     73     }
     74     public static void main(String[] args) {
     75         new Thread(new C3P0Util()).start();
     76         Connection con1 = getCon();
     77         Connection con2 = getCon();
     78         Connection con3 = getCon();
     79         try {
     80             Thread.sleep(5000);
     81         } catch (InterruptedException e) {
     82             // TODO Auto-generated catch block
     83             e.printStackTrace();
     84         }
     85         closeCon(con1);
     86         closeCon(con2);
     87         closeCon(con3);
     88     }
     89     @Override
     90     public void run() {
     91         while(true){
     92             try {
     93                 System.out.println(pool.getNumIdleConnections());
     94             } catch (SQLException e) {
     95                 e.printStackTrace();
     96             }
     97             try {
     98                 Thread.sleep(200);
     99             } catch (InterruptedException e) {
    100                 e.printStackTrace();
    101             }
    102         }
    103         
    104     }
    105 }
    106  
     
  • 相关阅读:
    20145129 《Java程序设计》第4周学习总结
    20145129 《Java程序设计》第3周学习总结
    20145105 《Java程序设计》第2周学习总结
    linux内核分析——扒开系统调用的三层皮
    Linux内核分析——跟踪分析Linux内核的启动过程
    Linux内核分析——操作系统是如何工作的
    LInux内核分析——计算机是如何工作的进行
    期末总结
    信息安全系统设计基础实验五—20135214万子惠20135227黄晓妍
    第十四周学习总结
  • 原文地址:https://www.cnblogs.com/thelovelybugfly/p/10821939.html
Copyright © 2011-2022 走看看