中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

JDBC利用C3P0數據庫連接池連接數據庫

發布時間:2020-10-12 01:01:54 來源:腳本之家 閱讀:137 作者:丶遇見 欄目:編程語言

JDBC之C3P0數據庫連接池,供大家參考,具體內容如下

1 首先在src中創建c3p0-config.xml 配置文件,文件中內容如下(首先下載C3P0.jar工具包 并放入項目環境變量中)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<c3p0-config>
<!--下面四個是數據庫連接必須需要的東西 -->
 <named-config name="MySQL">  <!--為你的數據庫起一個名字,我的叫MySQL -->
 <property name="driverClass">com.mysql.jdbc.Driver</property> 
 <property name="jdbcUrl">jdbc:mysql:localhost:3306/jdbc_01</property>
 <property name="user">root</property>  <!--數據庫賬號 -->
 <property name="password">root</property> <!--數據庫密碼 -->
 
  <!-- 若數據庫鏈接數量不足的時候,向數據庫申請的連接數量 -->
  <property name="acquireIncrement">5</property>
  <!-- 初始化數據庫連接池連接的數量 -->
  <property name="initialPoolSize">10</property>
  <!-- 數據庫連接池中最小連接數 -->
  <property name="minPoolSize">5</property>
  <!-- 數據庫連接池中最大連接數 -->
  <property name="maxPoolSize">100</property>
  <!-- C3P0數據庫連接池可以維護的Statement的數量 -->
  <property name="maxStatements">2</property> 
  <!-- 每個連接可同時使用Statement的數量 -->
  <property name="maxStatementsPerConnection">5</property>
 </named-config>
</c3p0-config>

2 創建一個工具類用于利用C3P0數據庫連接池獲得數據庫連接 工具類如下

package cn.qhy.jdbc;

import java.io.IOException;
import java.lang.reflect.Field;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class MyDBUtils {
 private static DataSource dataSource;
 static {// 靜態代碼塊,只執行一次
 dataSource = new ComboPooledDataSource("MySQL");
 }

 /**
 * 
 * @return
 * @throws SQLException
 */
 public static Connection getConnection() throws SQLException {
 return dataSource.getConnection();
 }

 /**
 * 通用的用來關閉數據有關的所有的資源的操作
 */
 public static void close(Connection conn, Statement sta, ResultSet re) {
 if (re != null)
  try {
  re.close();
  } catch (SQLException e) {
  e.printStackTrace();
  }
 if (sta != null)
  try {
  sta.close();
  } catch (SQLException e) {
  e.printStackTrace();
  }
 if (conn != null)
  try {
  conn.close();
  } catch (SQLException e) {
  e.printStackTrace();
  }
 }
}

3 創建測試類,測試C3P0是否連接數據庫(利用JUnit單元測試)

package cn.qhy.test;

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;

import org.junit.jupiter.api.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;

import cn.qhy.jdbc.MyDBUtils;

public class C3P0Test {
 /**
 * @throws SQLException
 * 
 */
 @Test
 public void c3p0xmlTest() throws SQLException {
 Connection conn = MyDBUtils.getConnection();
 System.out.println(conn);
 conn.close();
 }
}

結果如下

JDBC利用C3P0數據庫連接池連接數據庫

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

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

AI

阿拉尔市| 抚宁县| 道孚县| 霸州市| 长寿区| 龙泉市| 航空| 南平市| 化隆| 黔西县| 公主岭市| 普定县| 环江| 枣强县| 潜山县| 唐河县| 邵东县| 泽库县| 小金县| 贞丰县| 五华县| 沅陵县| 荥阳市| 翁牛特旗| 金门县| 通化市| 多伦县| 宁夏| 招远市| 龙口市| 遵化市| 普宁市| 杭锦后旗| 江孜县| 建平县| 定边县| 宁国市| 武威市| 辉南县| 石狮市| 海南省|