1. 程式人生 > >JavaWeb基礎之JdbcUtils工具類2.0

JavaWeb基礎之JdbcUtils工具類2.0

數據庫 機會 pro throws password 開源項目 基礎 static 性能

使用c3p0連接池來改版JdbcUtils工具

1. 使用c3p0連接池獲取連接,使代碼更加簡單

 1 /**
 2  * 使用c3p0連接池做小工具
 3  * JdbcUtils v2.0
 4  * @author hui.zhang
 5  * 
 6  */
 7 public class JdbcUtils {
 8     // 配置文件的默認配置,必須給出c3p0-config.xml
 9     private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
10 
11     /**
12      * 使用連接池返回一個連接對象
13 * @return 14 * @throws SQLException 15 */ 16 public static Connection getConnection() throws SQLException { 17 return dataSource.getConnection(); 18 } 19 20 /** 21 * 返回連接池對象 22 * @return 23 */ 24 public static DataSource getDataSource() { 25 return
dataSource; 26 } 27 28 }

2. 在src路徑下必須給出c3p0-config.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
    <!-- 默認配置信息 -->
    <default-config>
    <!-- 連接四大參數 -->
        <property name="user">數據庫用戶名</property>
        <property name="password">數據庫密碼</property>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://
/數據庫名</property> <!-- 池參數配置 --> <property name="acquireIncrement">3</property> <property name="initialPoolSize">10</property> <property name="minPoolSize">2</property> <property name="maxPoolSize">10</property> </default-config> </c3p0-config>

3. 總結

  * 什麽是連接池

    連接池是裝有連接的容器,使用連接的話,可以從連接池中進行獲取,使用完成之後將連接歸還給連接池。

  * 為什麽要學習連接池

    連接對象創建和銷毀是需要耗費時間的,在服務器初始化的時候就初始化一些連接。把這些連接放入到內存中,使用的時候可以從內存中獲取,使用完成之後將連接放入連接池中。從內存中獲取和歸還的效率要遠遠高於創建和銷毀的效率。(提升性能)。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  JdbcUtils v2.0的版本加入了c3p0連接池,c3p0是一個開源連接池,支持JDBC3和JDBC2的標準擴展,目前使用它的開源項目有Hibernate、Spring等。接下來有機會介紹介紹阿裏旗下的開源連接池Druid,使用非常簡單,可以和Spring進行快速整合。

JavaWeb基礎之JdbcUtils工具類2.0