說到數(shù)據(jù)庫,java程序員和準備學(xué)習(xí)java等計算機語言的人肯定都不陌生,尤其是在現(xiàn)在數(shù)據(jù)信息化的時代,數(shù)據(jù)庫更是起到了舉足輕重的作用。今天來學(xué)習(xí)關(guān)于數(shù)據(jù)庫連接池的知識,想學(xué)習(xí)java數(shù)據(jù)庫和連接池小伙伴們一定不要錯過下面的內(nèi)容。
數(shù)據(jù)庫的基本概念在前面的文章中都學(xué)習(xí)過,對于java零基礎(chǔ)的朋友們來說,對連接池還是有些陌生的,現(xiàn)在來簡單對連接池的概念來介紹一下。連接池用于創(chuàng)建和管理數(shù)據(jù)庫連接的緩沖池技術(shù),緩沖池中的連接可以被任何需要他們的線程使用。當一個線程需要用JDBC對一個數(shù)據(jù)庫操作時,將從池中請求一個連接。當這個連接使用完畢后,將返回到連接池中,等待為其他的線程服務(wù)。這就是連接池的概念。
下面來介紹一下市面上常見的數(shù)據(jù)庫連接池都有哪些?
(1)DBCP:DBCP是一個依賴Jakarta commons-pool對象池機制的數(shù)據(jù)庫連接池,DBCP可以直接的在應(yīng)用程序中使用,Tomcat的數(shù)據(jù)源使用的就是DBCP。
(2)c3p0:c3p0是一個開放源代碼的JDBC連接池,它在lib目錄中與Hibernate一起發(fā)布,包括了實現(xiàn)jdbc3和jdbc2擴展規(guī)范說明的Connection 和Statement池的DataSources 對象。
(3)druid:阿里出品,淘寶和支付寶專用數(shù)據(jù)庫連接池,但它不僅僅是一個數(shù)據(jù)庫連接池,它還包含一個ProxyDriver,一系列內(nèi)置的JDBC組件庫,一個SQL Parser。支持所有JDBC兼容的數(shù)據(jù)庫,包括Oracle、MySql、SQL Server、H2等。
那么數(shù)據(jù)庫連接池有什么作用呢?在數(shù)據(jù)庫連接池中預(yù)先創(chuàng)建N根連接
當我們在使用連接的時候,直接從連接池中取得。用完之后,將連接放回到連接池中。使用數(shù)據(jù)庫連接池來幫助我們對連接進行有效的管理,不用我們自己去管理了。在實際項目開發(fā)中,數(shù)據(jù)庫連接池會大量的應(yīng)用。
最后來學(xué)習(xí)一下數(shù)據(jù)庫連接池的搭建步驟:
(1)導(dǎo)入所需數(shù)據(jù)庫連接池提供的jar包;
(2)在src根下,導(dǎo)入properties屬性文件;
(3)創(chuàng)建數(shù)據(jù)庫連接池工廠(通過加載properties文件);
(4)通過連接池工廠來創(chuàng)建連接池;
(5)在使用連接的時候,我們從連接池中直接取得;
(6)在使用完連接的時候,將連接存放回連接池中。
上面就是關(guān)于數(shù)據(jù)庫連接池相關(guān)知識的基本介紹,包括了線程池和常見3種數(shù)據(jù)庫線程池的概念、作用以及數(shù)據(jù)庫連接池的搭建步驟,這些都屬于比較基礎(chǔ)的知識,希望這篇文章對大家能夠有所幫助,并以今天整理的內(nèi)容作為基礎(chǔ),在后面的MySQL教程中學(xué)習(xí)更深入的數(shù)據(jù)庫連接池的相關(guān)內(nèi)容和操作。