當前位置:編程學習大全網 - 源碼下載 - 關於c3p0連接池連接mysql數據庫需要註意的幾點

關於c3p0連接池連接mysql數據庫需要註意的幾點

用池來管理Connection,這可以重復使用Connection。有了池,所以我們就不用自己來創建Connection,而是通過池來獲取Connection對象。

當使用完Connection後,調用Connection的close()方法也不會真的關閉Connection,而是把Connection“歸還”給池。池就可以再利用這個Connection對象了。

導入DBUtils的工具包:commons-dbutils-1.6.jar

commons-dbutils 是 Apache 組織提供的壹個開源 JDBC工具類庫,它是對JDBC的簡單封裝,學習成本極低,並且使用dbutils能極大簡化jdbc編碼的工作量,同時也不會影響程序的性能。因此dbutils成為很多不喜歡hibernate的公司的首選。

導入C3P0的工具包:c3p0-0.9.1.2.jar

首先配置c3p0,目前使用最多的是用c3p0-config.xml文件進行配置:

①名字必須是c3p0-config.xml。

②必須放在src根目錄下,切記不要與web.xml放在壹起。

此為c3p0配置:

<default-config>為默認配置,還可以增加<named-config name="mysqlConfig">,其中mysqlConfig是妳自己的配置名字。

此時在c3p0工具類中創建ComboPooledDataSource實例是要加上妳的配置名字,即:newComboPooledDataSource("mysqlConfig")

#initialPoolSize:連接池初始化時創建的連接數,default : 3,取值應在minPoolSize與maxPoolSize之間c3p0.initialPoolSize=10

#minPoolSize:連接池保持的最小連接數,default : 3c3p0.minPoolSize=10

#maxPoolSize:連接池中擁有的最大連接數,如果獲得新連接時會使連接總數超過這個值則不會再獲取新連接,而是等待其他連接釋放,所以這個值有可能會設計地很大,default : 15c3p0.maxPoolSize=50

#acquireIncrement:連接池在無空閑連接可用時壹次性創建的新數據庫連接數,default : 3 c3p0.acquireIncrement=5

driverClass 表示妳的數據庫驅動類,妳用的什麽數據庫

jdbcUrl表示妳所要連接的數據庫,此處automotic_sign為妳創建的數據庫的名稱。

後面的參數 ?useSSl=true 表示是否用SSL連接數據庫,此參數不是必須的,mysql版本比較高時,進行連接時會提示該信息。

user和password是 妳的數據庫的用戶名和密碼

<?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/automotic_sign?useSSL=true</property>

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

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

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

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

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

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

</default-config>

</c3p0-config>

創建c3p0工具類與dbutils工具類:

package com.jdbc;

import java.sql.Connection;

import java.sql.SQLException;

import javax.sql.DataSource;

import org.apache.commons.dbutils.QueryRunner;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class Jdbcutils {

private static ComboPooledDataSource dataSource;//創建c3p0連接,整個項目有壹個連接池就可以了,設為static只要實例化壹次

static {

dataSource = new ComboPooledDataSource();

}

public static DataSource getDataSource() {

return dataSource;

}

public static QueryRunner getQueryRunner(){//創建DButils常用工具類QueryRunner的對象

return new QueryRunner(dataSource);

}

public static Connection getConnection(){

try {

Connection connection=dataSource.getConnection();

return connection;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

throw new RuntimeException();

}

}

}

關於c3p0連接池連接mysql數據庫需要註意的幾點

標簽:ceppool封裝rowonsatipublicntsbsp

  • 上一篇:Pes2009直接連接器傻瓜版
  • 下一篇:紫外_可見分光光度法,用吸收系數法定量,公式是什麽?
  • copyright 2024編程學習大全網