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

    JDBC连接池-C3P0连接

    c3p0连接池的学习英语好的看英文原版      c3p0 - JDBC3 Connection and Statement Pooling  

    使用c3p0连接池  三种方法:1.实例化和配置      ComboPooledDataSource  2.使用DataSource工厂类  3建立自己池数据源

    c3p0 是开源免费的连接池

    1.实例化和配置      ComboPooledDataSource

    在src目录下添加c3p0-config.xml文件

    文件名内容为:

    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
      <default-config>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/bookstore</property>
        <property name="user">root</property>
        <property name="password">root</property>
        <property name="initialPoolSize">5</property>
        <property name="maxPoolSize">20</property>
      </default-config>
      
      <named-config name="bookStore"> 
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/bookstore</property>
        <property name="user">root</property>
        <property name="password">root</property>
      </named-config>
      
    </c3p0-config>

    Testc3p0.java

    package com.study.jdbc.test;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    
    
    
    import org.junit.Test;
    
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    import com.study.jdbc.Utils.C3P0Utils;
    import com.study.jdbc.Utils.JDBCUtils_V3;
    
    public class TestC3p0 {
        @Test
        public void test1(){
            Connection conn=null;
            PreparedStatement pstm=null;
                    //加载c3p0-config.xml文件中默认的config
            ComboPooledDataSource dataSource =new ComboPooledDataSource();
                    //加载文件中 <named-config name="bookStore"> </named=config> 的配置信息
            ComboPooledDataSource dataSource1 =new ComboPooledDataSource("bookStore");
    
                try {
                    conn=dataSource.getConnection();
                    System.out.println(conn);
                    String sql="insert into user values(18,?,?)";
                    pstm=conn.prepareStatement(sql);
                    pstm.setString(1,"吕布");
                    pstm.setString(2,"点错");
                    int rows =pstm.executeUpdate();
                    if (rows>0) {
                        System.out.println("ok");
                    }else {
                        System.out.println("no");
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }finally{
                    //dataSource.backConnection(conn);
                    JDBCUtils_V3.release(conn,pstm,null);
                }
            
            
        }
    }
  • 相关阅读:
    0X03异常错误处理
    (组合数学)AtCoder Grand Contest 019 F
    (NTT)AtCoder Grand Contest 019 E
    (dp)AtCoder Grand Contest 019 D
    (dp)AtCoder Regular Contest 081 E
    (最小费用流)hdu 6118(2017百度之星初赛B 1005) 度度熊的交易计划
    (容斥)Codeforces Round #428 (Div. 2) D. Winter is here
    (最大团)Codeforces Round #428 (Div. 2) E. Mother of Dragons
    (FFT)HDU 6088(2017 多校第5场 1004)Rikka with Rock-paper-scissors
    近期部分题目汇总
  • 原文地址:https://www.cnblogs.com/shaoxiaohuan/p/7763240.html
Copyright © 2011-2022 走看看