Java連線資料庫——使用C3P0資料來源連結資料庫
1、相關jar包,這裡需要3個jar包
2、具體連結資料庫程式碼
ComboPooledDataSource類繼承自AbstractComboPooledDataSource類,且AbstractComboPooledDataSource類實現了PooledDataSource介面
ComboPooledDataSource常用方法
型別 | 方法和功能 |
void | setDriverClass 設定連線資料庫的驅動名稱 |
void | setJdbcUrl 設定連線資料庫的地址 |
void | setUser 設定連線資料庫的使用者名稱 |
void | setPassword 設定連線資料庫的密碼 |
void | setInitialPoolSize 設定資料庫連線池初始化的連線數目 |
void | setMaxPoolSize 設定最大資料庫連線池的數量 |
void | setMinPoolSize 設定最小資料庫連線池的數量 |
構造方法 | |
ComboPooledDataSource() | |
ComboPooledDataSource(boolean autoregister) | |
ComboPooledDataSource(java.lang.String configName) |
(1)、通過ComboPooledDataSource類直接建立資料來源物件
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資料來源 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); //設定最大的連結數 comboPooledDataSource.setMaxPoolSize(15); dataSource = comboPooledDataSource; }catch (Exception e){ } } public static void main(String[] args)throws SQLException { System.out.println(dataSource.getConnection()); } }
(2)、通過配置檔案建立資料來源物件
在專案的src目錄下建立一個出c3p0-donfig.xml檔案
c3p0-donfig.xml內容如下
<?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=””>是自定義配置,一個配置檔案中可以有一個或者多個自定義配置,呼叫ComboPoolDataSource(String configName)方法傳入<named-config>節點中name屬性的值即可建立C3P0資料來源物件。
在專案的src目錄下建立一個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());
}
}