標籤:
Java中的資料來源就是javax.sql.DataSource。DataSource的建立可以有不同的實現。DataSource 通常被稱為資料來源,它包含串連池和串連池管理兩個部分,習慣上也經常把 DataSource 稱為串連池。
JNDI方式建立DataSource: (Java Naming and Directory Interface,Java命名和目錄介面)。首先要配置資料來源的相關串連資訊,也就是資料來源串連池。該配置應該在Tomcat安裝目錄下的conf/context.xml檔案中配置。
串連池基本的思想,原理:
在系統初始化的時候,將資料庫連接作為Object Storage Service在記憶體中,當使用者需要訪問資料庫時,並非建立一個新的串連,而是從串連池中取出一個已建立的空閑連線物件。
資料庫連接池負責分配,管理和釋放資料庫連接,它允許應用程式重複使用一個現有的資料庫連接,而不是重建立立一個。
串連池通俗理解:
資料庫連接池就是準備一個池子,裡面放著很多產生好的Connection,使用者請求獲得串連,就不需要getConnection,只要從池子裡拿一個給他就行了,這樣省掉了產生Connection的時間,效率上會有很大提高,不過當然會佔用一些記憶體~稍微大點網站都會用到資料庫連接池的~
資料庫連接池技術的優點:
資源重用
更快的系統反應速度
新的資源分派手段
統一的串連管理,避免資料庫連接泄露
開源的資料庫連接池 C3P0 DBCP Proxool XAPool 等
以C3p0獲得資料來源為例:
@Test
public void testC3P0() throws Exception{ ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setDriverClass( "com.mysql.jdbc.Driver" ); //loads the jdbc driver cpds.setJdbcUrl( "jdbc:mysql:///atguigu" ); cpds.setUser("root"); cpds.setPassword("1230"); System.out.println(cpds.getConnection()); }
資料來源和資料庫連接池