- 1、java中數據庫連接池框架c3p0和dbcp的區別
- 2、java 連接oracle rac c3p0代碼怎麼寫
- 3、java開發中c3p0和dbcp連接池哪個用的多啊,為什麼?
- 4、JAVA+SARVERLET如何設置c3p0連接池
C3P0是一個開源的JDBC連接池,它實現了數據源和JNDI綁定,支持JDBC3規範和JDBC2的標準擴展。目前使用它的開源項目有Hibernate,Spring等。
DBCP(DataBase connection pool),數據庫連接池。是 apache 上的一個 java 連接池項目,也是 tomcat 使用的連接池組件。
c3p0與dbcp區別:
dbcp沒有自動的去回收空閑連接的功能 c3p0有自動回收空閑連接功能
兩者主要是對數據連接的處理方式不同!C3P0提供最大空閑時間,DBCP提供最大連接數。
前者當連接超過最大空閑連接時間時,當前連接就會被斷掉。DBCP當連接數超過最大連接數時,所有連接都會被斷開。
不是很懂你的意思
c3p0連接數據庫跟連接其他的數據庫是一樣的啊
配置數據源,綁定數據源,再就是與其他的框架整合的問題
數據源配置:
driverClass=oracle.jdbc.driver.OracleDriver
jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl
user=sys
password=sun123
c3p0配置:
!– c3p0 —
bean id=”dataSource” class=”com.mchange.v2.c3p0.ComboPooledDataSource”
property name=”driverClass” value=”${driverClass}”/
property name=”jdbcUrl” value=”${jdbcUrl}”/property
property name=”user” value=”${user}” /
property name=”password” value=”${password}”/
/bean
用肯定是dbcp用的多,原因很簡單,dbcp是spring自帶的,c3p0還需要另外引入。
至於功能是c3p0強,原因是dbcp封裝了很多java數據源的參數。導致沒有c3p0靈活。
根據你的需求,我貼出在普通Java 項目中,很單純的使用 C3P0 連接池的方式。不使用 Spring , 不使用 Tomcat JNDI 數據源。就是很普通的Java項目使用它的方式:
package com.malhui.zhidao.example;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DBPool {
private static DBPool instance;
private ComboPooledDataSource dataSource;
static{
instance = new DBPool();
}
private DBPool() {
try {
dataSource = new ComboPooledDataSource();
Properties prop = new Properties();
InputStream in = DBPool.class.getClassLoader().getResourceAsStream(“db.properties”);
prop.load(in);
dataSource.setDriverClass(prop.getProperty(“driverClass”));
dataSource.setJdbcUrl(prop.getProperty(“url”));
dataSource.setUser(prop.getProperty(“username”));
dataSource.setPassword(prop.getProperty(“password”));
} catch (Exception e) {
e.printStackTrace();
}
}
public static DBPool getInstance(){
return instance;
}
public Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
public static void main(String[] args) throws SQLException {
// 1.獲取JDBC 數據庫連接
Connection conn = DBPool.getInstance().getConnection();
// 2.使用 conn 連接操作數據庫 做你所想
}
}
代碼都是本人手工敲出來的,希望對你有幫助。滿意希望採納喔 !
原創文章,作者:U9LPH,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/126560.html