溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Java中利用C3P0數(shù)據(jù)源連接數(shù)據(jù)庫

發(fā)布時間:2021-03-24 15:08:33 來源:億速云 閱讀:195 作者:Leah 欄目:編程語言

怎么在Java中利用C3P0數(shù)據(jù)源連接數(shù)據(jù)庫?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1、相關(guān)jar包,這里需要3個jar包

怎么在Java中利用C3P0數(shù)據(jù)源連接數(shù)據(jù)庫

2、具體鏈接數(shù)據(jù)庫代碼

ComboPooledDataSource類繼承自AbstractComboPooledDataSource類,且AbstractComboPooledDataSource類實現(xiàn)了PooledDataSource接口

ComboPooledDataSource常用方法

怎么在Java中利用C3P0數(shù)據(jù)源連接數(shù)據(jù)庫

(1)、通過ComboPooledDataSource類直接創(chuàng)建數(shù)據(jù)源對象

Example4.java

import com.mchange.v2.c3p0.ComboPooledDataSource;
import javax.sql.DataSource;
import java.sql.SQLException;
public class Example4{
  public static DataSource dataSource = null;
  //初始化C3P0數(shù)據(jù)源
  static {
    ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
    try{
      comboPooledDataSource.setDriverClass("com.mysql.jdbc.Driver");
      comboPooledDataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/chapter02");
      comboPooledDataSource.setUser("root");
      comboPooledDataSource.setPassword("1234");
      //初始化
      comboPooledDataSource.setInitialPoolSize(5);
      //設(shè)置最大的鏈接數(shù)
      comboPooledDataSource.setMaxPoolSize(15);
      dataSource = comboPooledDataSource;
    }catch (Exception e){
    }
  }
  public static void main(String[] args)throws SQLException {
    System.out.println(dataSource.getConnection());
  }
}

(2)、通過配置文件創(chuàng)建數(shù)據(jù)源對象

在項目的src目錄下創(chuàng)建一個出c3p0-donfig.xml文件

c3p0-donfig.xml內(nèi)容如下

<?xml version="1.0" encoding="utf-8" ?>
<c3p0-config>
  <default-config>
    <property name="user">root</property>
    <property name="password">1234</property>
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">
      jdbc:mysql://localhost:3306/chapter02
    </property>
    <property name="checkoutTimeout">30000</property>
    <property name="initialPoolSize">10</property>
    <property name="maxIdleTime">30</property>
    <property name="maxPoolSize">100</property>
    <property name="minPoolSize">10</property>
    <property name="maxStatements">200</property>
  </default-config>
  <named-config name="dongyao">
    <property name="initialPoolSize">5</property>
    <property name="maxPoolSize">15</property>
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">
      jdbc:mysql://localhost:3306/chapter02
    </property>
    <property name="user">root</property>
    <property name="password">1234</property>
  </named-config>
</c3p0-config>

其中<default-config>是默認配置,<named-config name=””>是自定義配置,一個配置文件中可以有一個或者多個自定義配置,調(diào)用ComboPoolDataSource(String configName)方法傳入<named-config>節(jié)點中name屬性的值即可創(chuàng)建C3P0數(shù)據(jù)源對象。

在項目的src目錄下創(chuàng)建一個Example5的類

Example5.java

import com.mchange.v2.c3p0.ComboPooledDataSource;
 
import javax.sql.DataSource;
import java.sql.SQLException;
 
public class Example5 {
  public static DataSource dataSource = null;
  static {
    ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource("dongyao");
    dataSource = comboPooledDataSource;
  }
  public static void main(String[] args) throws SQLException {
    System.out.println(dataSource.getConnection());
  }
}

3、控制臺顯示

怎么在Java中利用C3P0數(shù)據(jù)源連接數(shù)據(jù)庫

關(guān)于怎么在Java中利用C3P0數(shù)據(jù)源連接數(shù)據(jù)庫問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI