zoukankan      html  css  js  c++  java
  • c3p0数据库连接池(作用不重复)

    /*
    * c3p0数据库连接池:
    * 只被初始化一次
    * connection对象进行close时,不是正的关闭,而是将该数据连接归还给数据库连接池
    *
    * */

    四个架包

    mysql-connector-java-jar

    commons-dbcp-1.4jar

    commons-pool-1.5.5jar

    c3p0-0.9.1.2.jar(在架包//其他,文件下)导进去

    ----------------------------------------------------------------------------------------------

    //方法一
    public void testC3p0() throws Exception{
    ComboPooledDataSource cpds=new ComboPooledDataSource();

    cpds.setDriverClass("com.mysql.jdbc.Driver");
    cpds.setJdbcUrl("jdbc:mysql:///lxn");
    cpds.setUser("root");
    cpds.setPassword("lxn123");
    System.out.println(cpds.getConnection());
    }

    -----------------------------------------------------------------------------------------------
    //方法二:通过配置文件的方法连接数据库

    首先在src目录下建立一个XML文件

    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>

    <named-config name="helloc3p0">

    <!-- 指定连接数据源的基本属性 -->
    <property name="user">root</property>
    <property name="password">lxn123</property>
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql:///lxn</property>

    <!-- 若数据库中连接数不足时, 一次向数据库服务器申请多少个连接 -->
    <property name="acquireIncrement">5</property>
    <!-- 初始化数据库连接池时连接的数量 -->
    <property name="initialPoolSize">5</property>
    <!-- 数据库连接池中的最小的数据库连接数 -->
    <property name="minPoolSize">5</property>
    <!-- 数据库连接池中的最大的数据库连接数 -->
    <property name="maxPoolSize">10</property>

    <!-- C3P0 数据库连接池可以维护的 Statement 的个数 -->
    <property name="maxStatements">20</property>
    <!-- 每个连接同时可以使用的 Statement 对象的个数 -->
    <property name="maxStatementsPerConnection">5</property>

    </named-config>

    </c3p0-config>

    连接方法:
    public void testC3p0WithConfigFile() throws Exception{
    DataSource dataSource=new ComboPooledDataSource("helloc3po");
    System.out.println(dataSource.getConnection());

    ComboPooledDataSource comboPooledDataSource=(ComboPooledDataSource) dataSource;
    System.out.println(comboPooledDataSource.getMaxStatements());
    }

    ------------------------------------------------------------------------------------------------------------
    //方法三:在src目录下建立一个XML文件,例上

    连接测试方法:
    private static DataSource dataSource=null;


    static{
    dataSource=new ComboPooledDataSource("helloc3p0");
    }


    public static Connection getConnection() throws Exception{
    return dataSource.getConnection();
    }


    @Test
    public void testC3p0L() throws Exception{
    Connection connection=getConnection();
    System.out.println(connection);
    }

  • 相关阅读:
    深入理解Java8中Stream的实现原理
    RocketMQ的顺序消费和事务消费
    Java 性能调优小技巧
    类加载机制基础
    十大经典排序算法
    分布式锁的几种常用实现方式
    python之接口开发
    python之urllib模块和requests模块
    python之time模块和hashlib模块
    python之os和sys模块的区别
  • 原文地址:https://www.cnblogs.com/lxnlxn/p/5775544.html
Copyright © 2011-2022 走看看