Java中的數據源就是javax.sql.DataSource。DataSource的創建可以有不同的實現。DataSource 通常被稱為數據源,它包含連接池和連接池管理兩個部分,習慣上也經常把 DataSource 稱為連接池。
JNDI方式創建DataSource: (Java Naming and Directory Interface,Java命名和目錄接口)。首先要配置數據源的相關連接信息,也就是數據源連接池。該配置應該在Tomcat安裝目錄下的conf/context.xml文件中配置。

連接池基本的思想,原理:
在系統初始化的時候,將數據庫連接作為對象存儲在內存中,當用戶需要訪問數據庫時,並非建立一個新的連接,而是從連接池中取出一個已建立的空閑連接對象。
數據庫連接池負責分配,管理和釋放數據庫連接,它允許應用程序重復使用一個現有的數據庫連接,而不是重新建立一個。
連接池通俗理解:
數據庫連接池就是准備一個池子,里面放着很多生成好的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()); }
