C3P0

1 数据库连接池的基本思想

为数据库连接建立一个“缓存池”,预先在缓存池中放入一定数量的连接,当需要和数据库建立连接时,只需要从“缓存池”中取出一个,使用完毕后再放入数据库连接池。数据库连接池负责分配,管理,释放数据库连接,它允许应用程序使用一个现有的连接,而不是重新建立一个。数据库连接池在初始化时将创建一定数量的连接放入连接池中,可以指定最小连接数和最大连接数,这样既保证了数据库中维护了一定数量连接,又保证数据库中的连接不至于太多,当应用程序请求的连接数超过最大连接数量时,这些请求会被加入等待队列中。

 

2 C3P0 使用方法如下:

1下载jar 包加入工程当中

2 建立一个c3p0-config.xml

3配置如下

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

<c3p0-config>

    <!-- This app is massive! -->

  <named-config name="bookStoreApp">

    <property name="user">root</property>

    <property name="password">1234</property>

    <property name="driverClass">com.mysql.jdbc.Driver</property>

    <property name="jdbcUrl">jdbc:mysql://localhost/book_store</property>

   

    <!-- 若数据库中连接不足时,一次向数据库服务器申请连接的个数-->

    <property name="acquireIncrement">50</property>

    <!-- 初始化数据库连接池创建连接的数量-->

    <property name="initialPoolSize">100</property>

    <!-- 数据库连接池中最少的连接数 -->

    <property name="minPoolSize">50</property>

    <!-- 最多的连接数 -->

    <property name="maxPoolSize">1000</property>

     <!-- 数据库连接池中可以维护的Statement的个数 -->

    <property name="maxStatements">50</property>

     <!-- 每个链接可以创建的Statement的个数-->

    <property name="maxStatementsPerConnection">5</property>

  </named-config>

</c3p0-config>

4 获取Connection

package com.test;

importjava.sql.Connection;

importjava.sql.SQLException;

importcom.mchange.v2.c3p0.ComboPooledDataSource;

 

public class TestC3P0{

 

    public static void main(String[] args) throws SQLException {

       ComboPooledDataSource cpds = new ComboPooledDataSource("bookStoreApp");

       Connection connection = cpds.getConnection();

    }

   

}



 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值