JavaWeb基礎之JdbcUtils工具類2.0
使用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 returndataSource; 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