數據源和數據庫連接池


  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()); }

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM